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