Множества в 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()
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт