Python Set Definition

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.

Set `intersection_update()` method

The 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.

Output:

``` {4, 5}
```

As you can see, both the intersection() method and the & operator allow you to create an intersection for more than two sets.

Union of two Sets

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

Output:

``` {'Rahul', 'Prayag', 'Anmol', 'Aimtocode'}
```

Output:

``` {'Prayag', 'Aimtocode', 'Anmol', 'Rahul'}
```

Python FrozenSets

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

Syntax:

```
frozenset(iterable)

```

Output:

``` frozenset({'Prayag', 'Aimtocode', 'Anmol', 'Rahul'})
```

Example 2:

This will cause an error Type:

Output:

``` Traceback (most recent call last):
File "C:\Python\frozen.py", line 3, in
a[1] = "Python"
TypeError: 'frozenset' object does not support item assignment
```

Python Set Built-in Methods

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

Set Built-in Functions

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.