Встречается на собеседованиях • сегодня

Как в set достигается уникальность элементов

Set в Python использует хеш-таблицу для хранения элементов. Каждый элемент перед добавлением хешируется с помощью hash(), и хеш используется для определения позиции в таблице. Если хеш нового элемента совпадает с существующим, Python дополнительно проверяет равенство через __eq__. Если оба условия выполняются, элемент считается дубликатом и не добавляется.

Пример:

python
s = set()
s.add(1)    # Добавляется
s.add(1)    # Игнорируется (дубликат)
s.add(1.0)  # Игнорируется (1 == 1.0 и hash(1) == hash(1.0))

Нюансы:

  • Объекты должны быть хешируемыми (реализовывать __hash__ и __eq__)
  • Изменяемые типы (list, dict) нельзя добавить в set
  • Порядок элементов не гарантируется (зависит от хешей и истории изменений)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы