A set is an unordered collection data type with no duplicate elements. Sets are iterable and mutable. The elements appear in an arbitrary order when sets are iterated.
The elements of the set can not be duplicate. The elements of the python set must be immutable.
Unlike arrays, where the elements are stored as ordered list, the order of elements in a set is undefined (moreover, the set elements are usually not stored in order of appearance in the set; this allows checking if an element belongs to a set faster than just going through all the elements of the set).
Sets can be created by calling the built-in set() function with a sequence or another iterable object.
A set can be created also by using the curly braces as well.
set() method
Printing the element using for loop... Pankaj Sujeet Rahul Amol Prayag Rakesh Mukesh
curly praces
Printing the element using for loop... Sujeet Rakesh Mukesh Amol Rahul Prayag Pankaj
Python sets can be used to perform some mathematical set operations like union, intersection, difference and symmetric difference. We can do this with operators or methods.
If we want to add single item to a list, we can use add()
method.
If we want to add more than one item to a list, we can use update()
method.
Add() method
Printing the element using for loop... Anmol Rakesh Prayag Sujeet Rahul Aimtocode Mukesh Pankaj
Here, in above example by using add() method
and adding one element Aimtocode.
update() method
Printing the element using for loop... Sujeet tutorial Rahul Python Mukesh Prayag Anmol Aimtocode Pankaj Rakesh
In above example, update() method
is used to add multiple elements.
There are a number of ways to remove items from a set:
Printing the element using for loop... Rakesh Pankaj Anmol Mukesh Sujeet Rahul
In above example, remove() method
is used to remove the element Prayag.
discard() method
Printing the element using for loop... Rahul Anmol Prayag Mukesh Pankaj Sujeet
In above example, discard() method
is used to discard the element Rakesh.
pop() method
Rahul {'Aimtocode', 'Anmol', 'Prayag'}
You can also use the pop()
, method to remove an item, but this method will remove the last item.
If there are two sets, first_set and second_set, the union
of these two sets is the set of all elements from both sets.
The union of two sets are calculated by using the or (|).
union | operator
{'Rahul', 'Prayag', 'Anmol', 'Aimtocode'}
union() method
{'Prayag', 'Aimtocode', 'Anmol', 'Rahul'}
intersection_update()
methodThe intersection of two sets, first_set and second_set, is the set of all elements common to both sets.
This operation can be performed using the & operator or the intersection() method.
{4, 5}
As you can see, both the intersection() method and the & operator allow you to create an intersection for more than two sets.
The frozen set is just an unchangeable category of a Python set object.
On the other hand, frozensets are hashable and can be used as keys to a dictionary.
Frozensets can be created using the function frozenset().
This datatype
supports methods like copy()
, difference()
, intersection()
, isdisjoint()
, issubset()
, issuperset()
, symmetric_difference()
and union()
.
Since frozenSets is immutable
it does not have method that add or remove elements.
The frozenset() function returns an unchangeable frozenset object (it is like a set object, only unchangeable).
frozenset(iterable)
frozenset({'Prayag', 'Aimtocode', 'Anmol', 'Rahul'})
This will cause an error Type:
Traceback (most recent call last): File "C:\Python\frozen.py", line 3, ina[1] = "Python" TypeError: 'frozenset' object does not support item assignment
There are many set methods, some of which we have already used above. Here is a list of all the methods that are available with set objects.
Method | Description |
---|---|
add() | Adds an element to the set |
clear() | Removes all the elements from the set |
copy() | Returns a copy of the set |
difference() | Returns a set containing the difference between two or more sets |
difference_update() | Removes the items in this set that are also included in another, specified set |
discard() | Remove the specified item |
intersection() | Returns a set, that is the intersection of two other sets |
intersection_update() | Removes the items in this set that are not present in other, specified set(s) |
isdisjoint() | Returns whether two sets have a intersection or not |
issubset() | Returns whether another set contains this set or not |
issuperset() | Returns whether this set contains another set or not |
pop() | Removes an element from the set |
remove() | Removes the specified element |
symmetric_difference() | Returns a set with the symmetric differences of two sets |
symmetric_difference _update() | inserts the symmetric differences from this set and another |
union() | Return a set containing the union of sets |
update() | Update the set with the union of this set and others |
Function | Description |
---|---|
all() | Return True if all elements of the set are true (or if the set is empty). |
any() | Return True if any element of the set is true. If the set is empty, return False. |
enumerate() | Return an enumerate object. It contains the index and value of all the items of set as a pair. |
len() | Return the length (the number of items) in the set. |
max() | Return the largest item in the set. |
min() | Return the smallest item in the set. |
sorted() | Return a new sorted list from elements in the set(does not sort the set itself). |
sum() | Retrun the sum of all elements in the set. |