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:
- iterable (optional) - a sequence (string, tuple, etc.) or collection (set, dictionary, etc.) or an iterator object to be converted into a set.
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}