set¶
- class
set
Множества используются для хранения неупорядоченных коллекций уникальных объектов.
Множество может содержать только элементы неизменяемых типов, например числа, строки, кортежи.
set([1,1,1,1,2]) # {1, 2} set('abc') # {'a', 'b', 'c'} {'abc'} # {'abc'} {1, 2, 3} # {1, 2, 3} {(1, 1), (1, 1), (1, 2)} # {(1, 1), (1, 2)} len({1, 1, 2}) # 2 1 in {1, 1, 2} # True 3 in {1, 1, 2} # False
-
add
(obj)¶ Добавляет новый объект в множество
{1, 2}.add(3) # {1, 2, 3}
-
clear
()¶ Очищает множество
{1, 2}.clear() # {}
-
copy
()¶ Возвращает копию объекта
{1, 2} # {1, 2}
-
difference
(iterable1, iterable2, ...)¶ Возвращает
set
, разницу между множеством и итерируемым объектом{1, 2, 3}.difference([1, 2, 4]) # {3} {1, 2, 3} - {1, 2, 4} # {3}
-
difference_update
(iterable1, iterable2, ...)¶ Удаляет элементы множества, которые присутствуют в обоих множествах
{1,2,3}.difference_update(set([1,2,4])) # s = {3} s -= set([3,4,5]) # s = {}
-
discard
(obj)¶ Удаляет объект из множества, если объекта в множестве нет, исключения не будет, как при remove
{1, 2}.discard(3) # {1, 2}
-
intersection
(iterable1, iterable2, ...)¶ Возвращает множество
set
, элементы которого существуют в указанных объектах{1, 2, 3}.intersection([1,2,4]) # {1, 2 } {1, 2, 3} & set([1,2,4]) # {1, 2}
-
intersection_update
(iterable1, iterable2, ...)¶ В исходном множестве останутся только которые, которые есть в обоих множествах
{1, 2, 3}.intersection_update([1, 2, 4]) # {1, 2} s &= {1, 6, 7} # {1}
-
isdisjoint
(iterable)¶ Возвращает
bool
, множества не имеют одинаковых элементов{1, 2, 3}.isdisjoint([4, 5, 6]) # True {1, 2, 3}.isdisjoint([4, 5, 1]) # False bool({1, 2, 3} & {4, 5, 6})
-
issubset
(iterable)¶ Возвращает
bool
, входит ли исходное множество в указанное{1, 2, 3}.issubset([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
(iterable)¶ Возвращает
bool
, входит ли указанное множество в исходное множество{1, 2, 3}.issuperset([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
()¶ Возвращает произвольный объект множества, удалив его из множества
{1, 2, 3}.pop() # 2 set().pop() # KeyError
-
remove
(obj)¶ Удаляет объект из множества
{1, 2}.remove(1) # {2} {1, 2}.remove(3) # KeyError
-
symmetric_difference
(iterable)¶ Возвращает множество
set
, которое не содержит одинаковых элементов в обоих объектах{1, 2, 3}.symmetric_difference([1, 2, 4]) # {3, 4} {1, 2, 3} ^ {1, 2, 4} ^ {1, 2, 5} # {3, 4, 5}
-
symmetric_difference_update
(iterable)¶ Оставляет в исходном множестве все элементы, кроме одинаковых
{1,2,3}.symmetric_difference_update([1,2,4]) # {3, 4} {1, 2, 3} ^= {1, 2, 4} # {3, 4}
-
union
(iterable1, iterable2, ...)¶ Возвращает новое множество
set
, объединенное c переданным итерируемым объектом{1, 2, 3}.union([4, 5, 6]) # {1, 2, 3, 4, 5, 6} {1, 2, 3}.union([4, 5, 6], (6, 5, 4)) # {1, 2, 3, 4, 5, 6} {1, 2, 3} | set([4, 5, 6]) # {1, 2, 3, 4, 5, 6}
-
update
(iterable1, iterable2, ...)¶ Добавляет в множество новые элементы
{1, 2, 3}.update([4,5,6], (7, 8)) # {1, 2, 3, 4, 5, 6, 7, 8} s |= {9} # {1, 2, 3, 4, 5, 6, 7, 8, 9}
-
remove
(obj)
-