top of page

Definition: is a datatype that is unordered; mutable; no duplicate elements; but it is iterabel.

Python’s set class represents the mathematical notion of a set. The major advantage of using a set, as opposed to a list, is that it has a highly optimized method for checking whether a specific element is contained in the set. This is based on a data structure known as a hash table. Since sets are unordered, we cannot access items using indexes like we do in lists.

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)))




{'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().

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))


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


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


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

bottom of page