Python Sets

Python Sets are another datatype in python which are unordered and eliminates duplication of elements. Items are put one after another enclosed by curly brackets.

Creating empty Sets

  • By using curly brackets {} dictionary data-type.
  • Also python built-in constructor for sets set() is available.

Important Points about Python Sets:

1) They are an unordered and unindexed collection of datatypes.
2) Duplicate elements are not allowed in sets.
3) Unlike a list, tuples, sets cannot be accessed through index or key.
4) items in sets are not in sequence they usually change their sequence.

Example: Create an empty Sets

 #create sets using curly brackets
a={}

#create sets using python built-in set constructor
b=set()

print(a)
print(b)

#PYTHON OUTPUT
{}
set()

Example: Initialize sets using predefined variables.

#create sets using curly brackets
a={
'sets',
'change',
'their',
'sequence'
}

#create sets using python built-in set constructor
b=set((
1,2,3
))

print(a)
print(b)

#PYTHON OUTPUT
{'sequence', 'sets', 'their', 'change'}
{1, 2, 3}

In the above example, we can see that in sets the sequences(occurrences) of variables change.

Example: Sets Eliminate duplicate items

a={
    1,2,3,3,2,1
}

print(a)#note that duplicate elements has been ommited by sets

#PYTHON OUTPUT
{1, 2, 3}

Accessing Sets

Items inside sets cannot be accessed using the index. To access it we have to loop sets using a for-in loop

Example

a={
'alice_586',
'Alice',
'K',
'123456',
}

for i in a:
    print(i)

#PYTHON OUTPUT
K
123456
Alice
alice_586

To verify if a given item exists in Sets

 a={
    'alice_586',
    'Alice',
    'K',
    '123456',
}


print('Alice' in a)# returns True
print('Anthony' in  a)#returns False

#PYTHON OUTPUT
True
False

To count the number of items present in sets use len() method.

a = {1,2,3,4,}

print(len(a))

#PYTHON OUTPUT
4

To add new items in sets use `add()` method under sets. But you can add only one value at a time.

 new_set = {'BMW', 'Volvo'}

new_set.add("Jaguar")

print(new_set)

#PYTHON OUTPUT
{'BMW', 'Volvo', 'Jaguar'}

To add multiple items in sets using update() method under sets.

Syntax

sets_name.update(another sets variable)

Example

old_set = {'BMW', 'Volvo'}

new_set = {'Porsche', 'Bugatti', 'Pagani'}

old_set.update(new_set)

print(old_set)

#PYTHON OUTPUT
{'Bugatti', 'Volvo', 'BMW', 'Porsche', 'Pagani'}

Note : You cannot update the existing item in sets.

To remove existing item in sets use ‘remove()’ or ‘discard()’ method

new_set = {'Asia', 'Africa', 'Europe'}
new_set.remove('Asia')
print(new_set)

#PYTHON OUTPUT
{'Europe', 'Africa'}

Note : While using ‘remove()’ method we must know that if the item doesnot exists. It will give ‘KeyError’ Error.
Insisted of `remove()` use `discard()` method.

new_set = {'Asia', 'Africa', 'Europe'}
new_set.remove('Asa')
print(new_set)

#PYTHON ERROR OUTPUT
KeyError: 'Asa'

Using discard() method

new_set = {'Asia', 'Africa', 'Europe'}
new_set.discard('Asia')
print(new_set)

#PYTHON OUTPUT
{'Africa', 'Europe'}    

If the item does not exists.

new_set = {'Asia', 'Africa', 'Europe'}
new_set.discard('Asi')
print(new_set)

#PYTHON OUTPUT
{'Europe', 'Asia', 'Africa'}

To clear items inside sets use clear() method under sets.

 old_set = {'BMW', 'Volvo'}

new_set = {'Porsche', 'Bugatti', 'Pagani'}

old_set.update(new_set)

old_set.clear()
print(old_set)

#PYTHON OUTPUT
{}

Top Python Posts