Easy Tutorial
❮ Ref Math Asinh Python Os Isatty ❯

Python3 Sets

A set is an unordered collection of unique elements.

Sets can be created using curly braces { } or the set() function. Note: To create an empty set, you must use set(), not { }, because { } is used to create an empty dictionary.

Creation format:

parame = {value01, value02, ...}
or
set(value)

Example (Python 3.0+)

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)                      # Demonstrates the deduplication feature
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket                 # Quickly checks if an element is in the set
True
>>> 'crabgrass' in basket
False

>>> # Demonstrates operations between two sets.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # Elements in set a but not in set b
{'r', 'd', 'b'}
>>> a | b                              # Elements in either set a or set b
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # Elements in both set a and set b
{'a', 'c'}
>>> a ^ b                              # Elements not in both set a and set b
{'r', 'd', 'b', 'm', 'z', 'l'}

Similar to list comprehensions, sets also support set comprehensions:

Example (Python 3.0+)

>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
{'r', 'd'}

Basic Set Operations

1. Add Elements

Syntax format:

s.add(x)

Adds element x to set s. If the element already exists, no action is taken.

Example (Python 3.0+)

>>> thisset = set(("Google", "tutorialpro", "Taobao"))
>>> thisset.add("Facebook")
>>> print(thisset)
{'Taobao', 'Facebook', 'Google', 'tutorialpro'}

There is another method to add elements, which can take a list, tuple, dictionary, etc. The syntax format is as follows:

s.update(x)

x can be multiple elements, separated by commas.

Example (Python 3.0+)

>>> thisset = set(("Google", "tutorialpro", "Taobao"))
>>> thisset.update({1, 3})
>>> print(thisset)
{1, 3, 'Google', 'Taobao', 'tutorialpro'}
>>> thisset.update([1, 4], [5, 6])
>>> print(thisset)
{1, 3, 4, 5, 6, 'Google', 'Taobao', 'tutorialpro'}
>>>

2. Remove Elements

Syntax format:

s.remove(x)

Removes element x from set s. If the element does not exist, an error occurs.

Example (Python 3.0+)

>>> thisset = set(("Google", "tutorialpro", "Taobao"))
>>> thisset.remove("Taobao")
>>> print(thisset)
{'Google', 'tutorialpro'}
>>> thisset.remove("Facebook")   # Error occurs if the element does not exist
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Facebook'
>>>

There is another method to remove elements from a set without causing an error if the element does not exist. The format is as follows:

s.discard(x)

Example (Python 3.0+)

>>> thisset = set(("Google", "tutorialpro", "Taobao"))
>>> thisset.discard("Facebook")  # No error if not present
>>> print(thisset)
{'Taobao', 'Google', 'tutorialpro'}

We can also randomly remove an element from the set with the following syntax:

s.pop()

Script Mode Example (Python 3.0+)

thisset = set(("Google", "tutorialpro", "Taobao", "Facebook"))
x = thisset.pop()

print(x)

Output:

$ python3 test.py 
tutorialpro

The results may vary each time the test is run.

The pop method of a set will randomly order the elements and then remove the first element of this ordered set.

3. Count the Number of Elements in a Set

Syntax:

len(s)

Returns the number of elements in set s.

Example (Python 3.0+)

>>> thisset = set(("Google", "tutorialpro", "Taobao"))
>>> len(thisset)
3

4. Clear a Set

Syntax:

s.clear()

Clears all elements from set s.

Example (Python 3.0+)

>>> thisset = set(("Google", "tutorialpro", "Taobao"))
>>> thisset.clear()
>>> print(thisset)
set()

5. Check if an Element Exists in a Set

Syntax:

x in s

Checks if element x is in set s, returns True if present, otherwise False.

Example (Python 3.0+)

>>> thisset = set(("Google", "tutorialpro", "Taobao"))
>>> "tutorialpro" in thisset
True
>>> "Facebook" in thisset
False
>>>

Complete List of Set Methods

Method Description
add() Adds an element to the set
clear() Removes all elements from the set
copy() Returns a copy of the set
difference() Returns the difference of two or more sets as a new set
difference_update() Removes all elements of another set from this set
discard() Removes a specified element from the set if it is present
intersection() Returns the intersection of two sets as a new set
intersection_update() Updates the set with the intersection of itself and another
isdisjoint() Returns True if two sets have a null intersection
issubset() Returns True if another set contains this set
issuperset() Returns True if this set contains another set
pop() Removes and returns an arbitrary set element
remove() Removes a specified element from the set
symmetric_difference() Returns the symmetric difference of two sets as a new set
symmetric_difference_update() Updates the set with the symmetric difference of itself and another
union() Returns the union of sets in a new set
update() Updates the set with the union of itself and others
symmetric_difference_update() Removes elements that are in both the current set and another specified set, and inserts elements from the other set that are not in the current set.
union() Returns the union of two sets.
update() Adds elements to the set.
❮ Ref Math Asinh Python Os Isatty ❯