|
|||||||
Распространенные операции над множествами (set) в Python
Время создания: 04.03.2019 16:43
Автор: br0ke
Текстовые метки: python, data, structure, set, frozenset, len, in, isdisjoint, issubset, issuperset, union, update, intersection, difference, difference_update, xor, copy, add, remove, discard, pop, clear
Раздел: Информационные технологии - Python - Основы языка
Запись: and-semakin/mytetra_data/master/base/15516998226k9x0tex0a/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Создать множество из литерала: >>> x = {'foo', 'bar', 'baz', 'foo', 'qux'} >>> x {'qux', 'foo', 'bar', 'baz'} >>> x = {'q', 'u', 'u', 'x'} >>> x {'x', 'q', 'u'} Создать пустое множество: >>> x = set() >>> type(x) <class 'set'> >>> x set() Создать множество из итерируемого объекта: >>> x = set(['foo', 'bar', 'baz', 'foo', 'qux']) >>> x {'qux', 'foo', 'bar', 'baz'} >>> x = set(('foo', 'bar', 'baz', 'foo', 'qux')) >>> x {'qux', 'foo', 'bar', 'baz'} Убрать повторы из списка: >>> words = ['hello', 'daddy', 'hello', 'mum'] >>> set(words) {'hello', 'daddy', 'mum'} Длина множества: len(s) Проверка, входит ли элемент во множество: x in s Проверка, что два множества не пересекаются: s.isdisjoint(other) Проверка, что два множества совпадают: s == other Проверка, что все элементы s принадлежат other: s.issubset(other) s <= other Проверка, что все элементы other принадлежат s: s.issuperset(other) s >= other Получить объединение нескольких множеств: s.union(other1, other2, ...) s | other1 | other2 ... Объединение множеств на месте (изменяет s): s.update(other1, other2, ...) set |= other1 | other2 Получить пересечение нескольких множеств: s.intersection(other1, other2, ...) s & other1 & other2 ... Пересечение нескольких множеств на месте (изменяет s): s.intersection_update(other1, other2, ...) s &= other1 & other2 ... Получить разность нескольких множеств (множество всех элементов s, не принадлежащих ни одному из other): s.difference(other1, other2, ...) s - other1 - other2 ... Разность нескольких множеств на месте (изменяет s): s.difference_update(other1, other2, ...) s -= other1 | other2 Исключающая разность (XOR, множество элементов, встречающихся в одном множестве, но не встречающееся в обоих одновременно): s.symmetric_difference(other) s ^ other Исключающая разность на месте (изменяет s): s.symmetric_difference_update(other) s ^= other Получить копию множества: s.copy() Добавить элемент во множество: s.add(elem) Удалить элемент из множества: s.remove(elem) s.remove(elem_not_in_set) # будет KeyError Удалить элемент из множества, если он там есть: s.discard(elem) Извлечь один (первый, но порядок в множестве не определен, поэтому может быть любой) элемент из множества: s.pop() Очистить множество: s.clear() frozenset -- это неизменяемая версия set, в нём поддерживаются все операции, которые не меняют исходное множество. Зато frozenset можно использовать в качестве ключа словаря, а set -- нельзя. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|