Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос нашим менторам. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

Изменение множеств

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

Множества в 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()

<span class="translation_missing" title="translation missing: ru.web.courses.lessons.mentors.mentor_avatars">Mentor Avatars</span>

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

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

Для полного доступа к курсу нужна профессиональная подписка

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

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов

Зарегистрироваться

или войти в аккаунт

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

  • 115 курсов, 2000+ часов теории
  • 800 практических заданий в браузере
  • 250 000 студентов

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг». Защита от спама reCAPTCHA «Конфиденциальность» и «Условия использования».

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

Логотип компании Альфа Банк
Логотип компании Rambler
Логотип компании Bookmate
Логотип компании Botmother

Есть вопрос или хотите участвовать в обсуждении?

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

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг». Защита от спама reCAPTCHA «Конфиденциальность» и «Условия использования».