Python set()

The set() function creates a set in Python.

Example

list_numbers = [1, 2, 3, 4, 2, 5]

# create set from list numbers_set = set(list_numbers)
print(numbers_set) # Output: {1, 2, 3, 4, 5}

set() Syntax

The syntax of set() is:

set(iterable)

Also Read: Python sets


set() Parameters

set() takes a single optional parameter:


set() Return Value

set() returns:

  • an empty set if no parameters are passed
  • a set constructed from the given iterable parameter

Example 1: Create sets from string, tuple, list, and range

# empty set
print(set())

# from string
print(set('Python'))
# from tuple print(set(('a', 'e', 'i', 'o', 'u'))) # from list print(set(['a', 'e', 'i', 'o', 'u'])) # from range
print(set(range(5)))

Output

set()
{'P', 'o', 't', 'n', 'y', 'h'}
{'a', 'o', 'e', 'u', 'i'}
{'a', 'o', 'e', 'u', 'i'}
{0, 1, 2, 3, 4}

Note: We cannot create empty sets using { } syntax as it creates an empty dictionary. To create an empty set, we use set().

Also Read: Python range()


Example 2: Create sets from another set, dictionary and frozen set

# from set
print(set({'a', 'e', 'i', 'o', 'u'}))

# from dictionary
print(set({'a':1, 'e': 2, 'i':3, 'o':4, 'u':5}))
# from frozen set
frozen_set = frozenset(('a', 'e', 'i', 'o', 'u')) print(set(frozen_set))

Output

{'a', 'o', 'i', 'e', 'u'}
{'a', 'o', 'i', 'e', 'u'}
{'a', 'o', 'e', 'u', 'i'}

Example 3: Create set() for a custom iterable object

class PrintNumber:
    def __init__(self, max):
        self.max = max

    def __iter__(self):
        self.num = 0
        return self

    def __next__(self):
        if(self.num >= self.max):
            raise StopIteration
        self.num += 1
        return self.num

# print_num is an iterable
print_num = PrintNumber(5)

# creating a set
print(set(print_num))

Output

{1, 2, 3, 4, 5}
Did you find this article helpful?