Зарегистрируйтесь, чтобы продолжить обучение

Изменение множеств 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()

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 26 декабря
профессия
от 24 542 ₸ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 26 декабря

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»