Что такое множество (set) и для чего оно нужно?

set — это неупорядоченное множество уникальных элементов. Множество автоматически устраняет дубликаты и позволяет быстро проверять принадлежность (x in my_set), поэтому его используют для удаления повторов и быстрых проверок «есть/нет».
Подробный ответ

Множество (set) — это коллекция уникальных элементов без гарантированного порядка. Если добавить один и тот же элемент несколько раз, он хранится в множестве только один раз.

Создание множества

nums = {1, 2, 3}
empty = set()

Если создать множество из списка, дубликаты будут удалены:

values = [1, 2, 2, 3]
unique = set(values)   # {1, 2, 3}

Основные операции

Проверка принадлежности:

if 2 in unique:
    print("есть 2")

Добавление и удаление элементов:

unique.add(4)
unique.remove(1)   # если элемента нет, будет KeyError
unique.discard(5)  # безопасно, не бросает ошибку, если 5 нет

Операции теории множеств

Множества поддерживают объединение, пересечение, разность и симметрическую разность.

a = {1, 2, 3}
b = {3, 4}

union = a | b         # {1, 2, 3, 4}
inter = a & b         # {3}
diff = a - b          # {1, 2}
sym_diff = a ^ b      # {1, 2, 4}

Где множества полезны на практике

  • Удаление дублей из коллекции (например, из списка ID).

  • Быстрые проверки «элемент уже был?» (in у множества работает быстро).

  • Операции над группами: какие права есть, какие отсутствуют, пересечение двух наборов и т.п.

Фраза для собеседования

Множество — это коллекция уникальных элементов. Оно автоматически убирает дубликаты и позволяет быстро проверять принадлежность через in, поэтому его удобно использовать для удаления повторов и логики вида «есть/нет».

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге