В этом уроке мы подробнее изучим множества и операции над ними.
Изменение состава элементов множества
Множества в 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()
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.