Python: Cловари и множества

Теория: Изменение множеств

В этом уроке мы подробнее изучим множества и операции над ними.

Изменение состава элементов множества

Множества в Python — изменяемые. Добавлять и удалять элементы из множества можно с помощью методов add, discard и remove:

s = set()
s.add(1)
s.add(2)
s.add(2)
s  # {1, 2}
s.discard(1)
s  # {2}
s.discard(1)
s  # {2}
s.remove(1)  # KeyError: 1

При чтении кода в этом примере вы должны были заметить, что добавление лишних элементов с помощью add и отбрасывание несуществующих элементов с помощью discard не приводят к ошибке. Однако вызов метода remove с несуществующим элементом приводит к ошибке.

Копирование и очистка множеств

Множества изменяемы, поэтому требуется сделать копию перед изменением оригинала. Как и словари, множества не поддерживают операцию получения среза. Для копирования приходится использовать метод copy, создающий поверхностную копию множества:

s1 = {1, 2, 3}
s2 = s1.copy()
s1 is s2  # False
s1 == s2  # True
s2.add(4)
s1 == s2  # False
s2  # {1, 2, 3, 4}

Очистить множество без пересоздания можно с помощью метода clear:

s = set("foobar")
s  # {'f', 'a', 'r', 'o', 'b'}
s.clear()
s  # set()

Рекомендуемые программы