Множества (set) в Python

Множество хранит только уникальные значения — удобно, чтобы избавиться от повторов.

Что такое множество

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

nums = {1, 2, 2, 3}
print(nums)   # {1, 2, 3}

Убрать дубликаты

Частый приём — превратить список в множество, чтобы убрать повторы, а потом при желании вернуть обратно в список.

items = [1, 1, 2, 3, 3]
unique = list(set(items))   # [1, 2, 3]

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

Множества умеют то, чему в школе учат на кругах Эйлера: пересечение (& — общие элементы), объединение (| — все вместе), разность (- — что есть в первом, но нет во втором).

a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)   # {2, 3}

Частые вопросы

Сохраняется ли порядок в множестве? Нет, порядок не гарантирован — если он важен, берите список.

Можно ли обращаться по индексу? Нет, у множества нет индексов; его перебирают циклом или проверяют in.

Начать игру бесплатно