In [1]: a = {'a', 'b', 'c'}
In [2]: a.add('d')
In [3]: a
Out[3]: {'a', 'b', 'c', 'd'}
In [4]: # add добавляет значение в множество
In [5]: a.clear()
In [6]: a
Out[6]: set()
In [7]: a = {'a', 'b', 'c'}
In [8]: b = a
In [9]: a.add('d')
In [10]: b
Out[10]: {'a', 'b', 'c', 'd'}
In [11]: c = a.copy()
In [12]: x = {1, 2, 3}
In [13]: y = {3, 4, 5}
In [14]: x.difference(y)
Out[14]: {1, 2}
In [15]: y.difference(x)
Out[15]: {4, 5}
In [16]: # difference - элементы сета, которых нет в другом сете
In [17]: x.difference_update(y)
In [18]: x
Out[18]: {1, 2}
In [19]: y
Out[19]: {3, 4, 5}
In [20]: z = {4, 5, 6}
In [21]: z.difference_update(y)
In [22]: z
Out[22]: {6}
In [23]: # difference_update обновляет сеты, показвает того, чего нет во втором
...: сете и оставляет это
In [24]: x = {1, 2, 3}
In [25]: y = {3, 4, 5}
In [26]: z
Out[26]: {6}
In [27]: z.discard(5)
In [28]: z
Out[28]: {6}
In [29]: z.discard(6)
In [30]: z
Out[30]: set()
In [31]: # discard удаляет элемент, если он есть в множестве
In [32]: x
Out[32]: {1, 2, 3}
In [33]: z
Out[33]: set()
In [34]: y
Out[34]: {3, 4, 5}
In [35]: x.intersection(y)
Out[35]: {3}
In [36]: # intersection - показывает сет данных, общий для двух остальных
In [37]: x
Out[37]: {1, 2, 3}
In [38]: y
Out[38]: {3, 4, 5}
In [39]: x.intersection_update(y)
In [40]: z
Out[40]: set()
In [41]: x
Out[41]: {3}
In [42]: # intersection_update еще и обновляет множество
In [43]: x = {1, 2, 3}
In [44]: y
Out[44]: {3, 4, 5}
In [45]: x.isdisjoint(y)
Out[45]: False
In [46]: z = {6, 7, 8}
In [47]: x.isdisjoint(z)
Out[47]: True
In [48]: # isdisjoint - истина, если set и other не имеют общих элементов.
In [49]: x
Out[49]: {1, 2, 3}
In [50]: y
Out[50]: {3, 4, 5}
In [51]: x.issubset(y)
Out[51]: False
In [52]: z = {3,2,1}
In [53]: x.issubset(z)
Out[53]: True
In [54]: # issubset - все элементы set принадлежат other.
In [55]: x
Out[55]: {1, 2, 3}
In [56]: y
Out[56]: {3, 4, 5}
In [57]: x.issuperset(y)
Out[57]: False
In [58]: x.issuperset(z)
Out[58]: True
In [59]: # set >= other
In [60]: x
Out[60]: {1, 2, 3}
In [61]: x.pop()
Out[61]: 1
In [62]: x
Out[62]: {2, 3}
In [63]: # pop - удаляет первый элемент множества
In [64]: z
Out[64]: {1, 2, 3}
In [65]: z.remove(2)
In [66]: z
Out[66]: {1, 3}
In [67]: # remove - удаляет нужный элемент
In [68]: z.remove(2)
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-68-baeee67eb7b3> in <module>()
----> 1 z.remove(2)
KeyError: 2
In [69]: x = {1, 2, 3}
In [70]: y = {3, 4, 5}
In [71]: x.symmetric_difference(y)
Out[71]: {1, 2, 4, 5}
In [72]: # symmetric_difference собирает различия двух сетов в один сет
In [73]: x.symmetric_difference(y)
Out[73]: {1, 2, 4, 5}
...
In [75]: x
Out[75]: {1, 2, 3}
In [76]: y
Out[76]: {3, 4, 5}
In [77]: x.symmetric_difference_update(y)
In [78]: x
Out[78]: {1, 2, 4, 5}
In [79]: # тоже самое, только обновляет сет
In [80]: y
Out[80]: {3, 4, 5}
In [81]: x = {1, 2, 3}
In [82]: x.union(y)
Out[82]: {1, 2, 3, 4, 5}
In [83]: x + y
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-83-cd60f97aa77f> in <module>()
----> 1 x + y
TypeError: unsupported operand type(s) for +: 'set' and 'set'
In [84]: x += y
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-84-3fa90755daf3> in <module>()
----> 1 x += y
TypeError: unsupported operand type(s) for +=: 'set' and 'set'
In [85]: # union объединяет два сета в один
In [86]: x.union(y)
Out[86]: {1, 2, 3, 4, 5}
In [87]: x.update(y)
In [88]: x
Out[88]: {1, 2, 3, 4, 5}
In [89]: # update тот же union, только изменяет сет