11. Set Data Structures
11. Set Data Structures
symmetric_difference_update():
it will store the unmatching elements from both sets into First_Set.
Syntax: <First_Set>.symmetric_difference_update(<Secon_Set>)
Example:
>>> set1 = {1,2,3,4,5}
>>> set2 = {1,2,3,6,7}
>>> set1.symmetric_difference_update(set2)
>>> print(set1) {4, 5, 6, 7}
>>> print(set2) {1, 2, 3, 6, 7}
Or
>>> set1 ={1,2,3,4,5}
>>> set2 = {1,2,3,6,7}
>>> set2.symmetric_difference_update(set1)
>>> print(set1) {1, 2, 3, 4, 5}
>>> print(set2) {4, 5, 6, 7}
set ():
Example:
>>> s = {10,20,20,30}
>>> s {10, 20, 30}
>>> s.add(40) # add new element into set
>>> s {40, 10, 20, 30}
>>> s.add(40,50) # TypeError: add() takes exactly one argument (2 given)
>>> s.add([80,40,50]) # TypeError: unhashable type: 'list'
>>> s.add((80,40,50))
>>> s # {40, 10, (80, 40, 50), 20, 30}
Q. Is set object allowed Mutable type data ?
Set object not allowed mutable type objects data in side set object.
It means, list , set and dictionary type data not allowed in set object either directly
or indirectly.
For example:
>>> s = {1 , 2.0 , [1 , 2]}
TypeError: unhashable type: 'list'
>>> s = {1,2.0, {1,2}}
TypeError: unhashable type: 'set'
>>> s = {1,2.0, {1:2}}
TypeError: unhashable type: 'dict'
>>> s = { 1 , 2.0 , 'python' , (1 , 2 , [ 1 , 2 ] ) }
TypeError: unhashable type: 'list'
Q. Is set object allowed Immutable type data ?
Yes, set allowed only immutable type objects data inside set object.
It means, numbers , string and tuple type data allowed in set object either directly
or indirectly.
For example:
>>> s1 = { 1 , 2 , ( 1 , 2 ) , 'python' }
>>> s1
{ 1 , 2 , ( 1 , 2 ) , 'python' }