Уникальность и принадлежность: когда задаче нужно множество
Множество хранит только уникальные элементы. Если одно и то же значение добавить несколько раз, оно останется в множестве один раз. Это удобно для задач на разные числа, уникальные слова, пересечение списков и проверку повторов.
В Python множество создают с помощью set.
numbers = [5, 3, 5, 8, 3, 10]
unique_numbers = set(numbers)
print(len(unique_numbers))Программа выводит количество различных чисел. Такой прием часто встречается в школьных задачах: не “сколько всего элементов”, а “сколько разных элементов”.
Проверка повторов
Множество удобно использовать во время перебора. Например, нужно понять, встречалось ли число раньше.
numbers = [4, 7, 2, 7, 9]
seen = set()
has_duplicate = False
for number in numbers:
if number in seen:
has_duplicate = True
break
seen.add(number)
print('есть повтор' if has_duplicate else 'повторов нет')Проверка number in seen обычно работает быстрее, чем поиск в списке.
Операции над множествами
Для школьной информатики полезны три операции:
- объединение: элементы из двух наборов;
- пересечение: элементы, которые есть в обоих наборах;
- разность: элементы первого набора без элементов второго.
math_club = {'Аня', 'Илья', 'Маша'}
programming_club = {'Илья', 'Олег', 'Маша'}
print(math_club & programming_club)
print(math_club | programming_club)
print(math_club - programming_club)Множества особенно полезны в задачах, где нужно убрать повторы и быстро проверять принадлежность. Они не заменяют списки полностью: если важен порядок, список остается основным инструментом.
Источники
- Босова Л.Л. Информатика. Базовый курс: учебник для 7-9 классов. - М.: БИНОМ. Лаборатория знаний.
- Поляков К.Ю., Еремин Е.А. Информатика. 10-11 классы. Углубленный уровень.
- Python Documentation: The Python Tutorial.