Alterna · учебный материал
Множества
40.1: Множества. Короткая теория, один пример и пошаговая трасса Python.
Что в этом материале
- Как это устроено
- Один пример в исполнении
- Запомнить
Содержание и основные понятия
Множество хранит только уникальные хешируемые значения и быстро проверяет принадлежность.
суть и практика
11 класс
ЕГЭ №24
01
Как это устроено
Множество отвечает на вопрос принадлежности и хранит только уникальные хешируемые элементы. Порядок элементов не является частью контракта set.
Уникальность.
Повторное add существующего значения не меняет размер.
Принадлежность.
x in seen обычно работает быстро и подходит для поиска повторов.
Алгебра.
Объединение, пересечение и разность создают новые множества.
Порядок.
Для стабильного вывода множество надо передать в sorted.
02
Один пример в исполнении
Запусти короткую программу и переходи по строкам. Визуализатор показывает только код, текущую строку, переменные и вывод.
Пустое множество создают
set()
: запись
{}
создаёт словарь.
discard
безопасно удаляет отсутствующий элемент, а
remove
бросает
KeyError
.
pop
удаляет произвольный элемент, поэтому его нельзя использовать для предсказуемого вывода.
Карта алгоритма
Читай слева направо, затем запускай код.
1
Начало
2
Создать множество
3
Добавить значение
4
Повтор уже есть?
5
Проверить и вывести результат
03
Запомнить
Список и словарь нельзя положить в set: они изменяемы и не хешируются.
Не сравнивай строковое представление set как экзаменационный ответ.
Для отсутствующего элемента выбирай discard или явную проверку x in s.
Синтаксис этой страницы
set(iterable)
Создаёт множество уникальных хешируемых значений.
add(x)
Добавляет x; дубликат игнорируется.
discard(x)
Удаляет x без ошибки, если x отсутствует.
remove(x)
Удаляет x; отсутствующее значение вызывает KeyError.
pop()
Удаляет и возвращает произвольный элемент; пустое set вызывает KeyError.
update(iterable)
Добавляет все элементы iterable.
a | b / union
Объединение множеств.
a & b / intersection
Пересечение множеств.
a - b / difference
Элементы a, отсутствующие в b.
sorted(set)
Создаёт упорядоченный список для детерминированного вывода.
len
Считает уникальные элементы.