set

class set

Множества используются для хранения неупорядоченных коллекций уникальных объектов.

Множество может содержать только элементы неизменяемых типов, например числа, строки, кортежи.

set([1,1,1,1,2])
set(1, 2)
set('abc')
set('a', 'b', 'c')
{1,2,3}
set(1,2,3)
add(obj)

Добавляет новый объект в множество

clear()

Очищает множество

copy()

Возвращает копию объекта

difference(set)

Возвращает set, разницу между множествами

{1,2,3} - {1,2,4}
# {3}
{1,2,3}.difference(set([1,2,4]))
# {3}
difference_update(set)

Удаляет элементы множества, которые присутствуют в обоих множествах

s = {1,2,3}
s.difference_update(set([1,2,4]))
# s = {3}

s -= set([3,4,5])
# s = {}
discard(obj)

Удаляет объект из множества.

intersection(set)

Возвращает множество set, элементы которого существуют в обоих множествах

{1,2,3}.intersection({1,2,4})
# {1,2}

set([1,2,3]) & set([1,2,4])
# {1,2}
intersection_update(set)

В исходном множестве останутся только множества, которые есть в обоих множествах

s = {1,2,3}
s.intersection_update(set([1,2,4]))
# s = {1,2}

s &= {1,6,7}
# s = {1}
isdisjoint(set)

Возвращает bool, множества не имеют одинаковых элементов

{1,2,3}.isdisjoint({4,5,6})
# True

{1,2,3}.isdisjoint({4,5,1})
# False
issubset(set)

Возвращает bool, входит ли исходное множество в указанное

s = {1,2,3}
s.issubset(set([1,2,3,4]))
# True

{1,2,3} <= {1,2,3}
# True

{1,2,3} <= {1,2,3,4}
# True

{1,2,3} < {1,2,3}
# False

{1,2,3} < {1,2,3,4}
# True
issuperset(set)

Возвращает bool, входит ли указанное множество в исходное множество

s = {1,2,3}
s.issuperset(set([1,2]))
# True

{1,2,3} >= {1,2}
# True

{1,2,3} >= {1,2,3}
# True

{1,2,3} > {1,2}
# True

{1,2,3} > {1,2,3}
# False
pop()

Возвращает произвольный объект множества, удалив его из множества

remove(obj)

Удаляет объект из множества

symmetric_difference(set)

Возвращает множество set, которое не содержит одинаковых элементов

s = {1,2,3}
s.symmetric_difference(set([1,2,4]))
# {3, 4}

{1,2,3}  ^ {1,2,4}
# {3, 4}
symmetric_difference_update(set)

Оставляет в исходном множестве все элементы, кроме одинаковых

s = {1,2,3}
s.symmetric_difference_update(set([1,2,4]))
# s = {3, 4}

{1,2,3} ^= {1,2,4}
# {3, 4}
union(set)

Возвращает новое множество set, объединенное из двух.

s = {1, 2, 3}
s.union(set([4, 5, 6]))
# s = {1, 2, 3, 4, 5, 6}

s | set([4, 5, 6])
# s= {1, 2, 3, 4, 5, 6}
update(set)

Добавляет в множество новое множество

s = {1,2,3}
s.update(set([4,5,6]))
# s = {1, 2, 3, 4, 5, 6}

s |= {7, 8, 9}
# s = {1, 2, 3, 4, 5, 6, 7, 8, 9}
remove(obj)

Генератор множеств

Добавлено в версии 3.x.

{ i for i in [1,2,3,1]}
# {1,2,3}