 Anyone Can Code.

## Sets

### Jyotirmay Zamre

This tutorial will be the complete discussion of Sets for this course. It's quite a long one so take your time and make sure you understand everything.

A set is a collection of data which is unordered and unindexed. Their contents are enclosed within curly brackets, but they are not dictionaries.

``````
names = {'John', 'Henry', 'Julia', 'Paul'}
print(names)
```
{'Julia', 'John', 'Paul', 'Henry'}
```

Since sets are unordered, the order in which the items are placed can change at any given point in time. Therefore, there are no fixed positions and so one can't access the items using an index value. However, one can still loop through the items in the set using a `for`> loop.

``````
names = {'John', 'Henry', 'Julia', 'Paul'}
for x in names:
print(x)
```
Julia
John
Paul
Henry
```

You can check whether a specific item is present in the set by using the `in` keyword.

``````

names = {'John', 'Henry', 'Julia', 'Paul'}
if 'John' in names:
print('Yes')
```
Yes
```

You cannot change the items within a created set but you can add new items or remove items. However, the added item will only be added if it doesn't already exist in the set.

``````
names = {'John', 'Henry', 'Julia', 'Paul'}
print(names)

#the update() method is used to add multiple items
names = {'John', 'Henry', 'Julia', 'Paul'}
names.update(['Candace', 'Kenan', 'Joe'])
print(names)
```
{'Julia', 'Paul', 'Henry', 'John', 'Candace'}
{'Julia', 'Joe', 'Paul', 'Henry', 'Kenan', 'John', 'Candace'}
```

There are many ways to join two or more sets in Python. The `union()` method creates a new set which contains items from both sets and the `update()` method transfers all the elements from one set to the second.

``````
#union() method
set1 = {'John', 'Henry', 'Julia', 'Paul'}
set2 = {3, 19, 5, 2}
set3 = set1.union(set2)
print(set3)

#update() method
set1 = {'John', 'Henry', 'Julia', 'Paul'}
set2 = {3, 2, 7, 5}
set1.update(set2)
print(set1)
```
{'Julia', 2, 3, 'Paul', 5, 'Henry', 19, 'John'}
{'Julia', 2, 3, 'Paul', 5, 7, 'Henry', 'John'}
```

### Set Theory

Before we look at some more Set methods, let's look at some basic Set Theory. If you are already familiar with this, scroll down.

In Python we have some set methods that are similar to mathematical set operations. In this tutorial, we are looking at union, intersection, subsets, supersets and difference of sets.

##### Union and Intersection

Union is the combination of two or more sets, without repeating common elements. An intersection is the set of all common elements between one or more sets.

For example, if we have A = {2,3,4} and B = {3,5,6}, then A ∪ B = {2,3,4,5,6} and A ∩ B = {3}

##### Subsets and Supersets

A subset is a set which contains some of the elements of another set. A superset of another set is a set that contains the elements of the second set

If we have a set A = {2,3,4} and B = {2,3,4,5,6}, then A is a subset of B and B is a superset of A

##### Difference of Sets

The difference of two sets is the elements of one set minus the elements in common with another set. For example, if we have A = {2,3,4} and B = {3,5,6}, then A-B = {2,4}

### Set Methods

1. `len()`

the len() method determines the number of items in a set

``````
names = {'John', 'Henry', 'Julia', 'Paul'}
print(len(names))
```
4
```

2. `remove()`

the remove() method removes a specified item from the set

``````
names = {'John', 'Henry', 'Julia', 'Paul'}
names.remove('John')
print(names)
```
{'Julia', 'Paul', 'Henry'}
```

3. `pop()`

the pop() method removes the last item in the set so you will not know what item gets removed

``````
names = {'John', 'Henry', 'Julia', 'Paul'}
names.pop()
print(names)
```
{'John', 'Paul', 'Henry'}
```

4. `clear()`

the clear() method empties the set

``````
names = {'John', 'Henry', 'Julia', 'Paul'}
names.clear()
print(names)
```
set()
```

5. `intersection()`

the intersection() method returns a set that is the intersection of two other sets

``````
set1 = {'John', 'Henry', 'Julia', 'Paul', 19}
set2 = {3, 19, 5, 2, 'Henry'}
set3 = set1.intersection(set2)
print(set3)
```
{19, 'Henry'}
```

6. `issubset()`

the issubset() method checks whether another set contains a particular set or not. It returns a boolean.

``````
set1 = {'John', 'Paul'}
set2 = {'John', 'Henry', 'Julia', 'Paul'}
print(set1.issubset(set2))
```
True
```

7. `issuperset()`

the issuperset() method checks whether another set is a superset of a particular set or not

``````
set1 = {'John', 'Henry', 'Julia', 'Paul'}
set2 = {'John', 'Paul'}
print(set1.issuperset(set2))
```
True
```

8. `difference()`

the difference() method returns a set that contains the item only present in the first set.

``````
set1 = {'John', 'Henry', 'Julia', 'Paul'}
set2 = {'John', 45, 'Alex'}
print(set1.difference(set2))
```
{'Julia', 'Paul', 'Henry'}
```

That's it for this tutorial! Click Next to access the next tutorial!

## Next ❯

Copyright © 2020, Q-Programming | Created by Arjun Sodhi, Balpreet Juneja and Sammarth Kumar | Developed and Designed by Sammarth Kumar