Множества в Python — это неупорядоченные коллекции уникальных элементов. Если тебе нужно хранить данные без дубликатов или быстро проверять наличие элемента — множества отлично подойдут. В этом тренажере ты научишься создавать множества разными способами: через фигурные скобки, функцию set(), а также из других коллекций — списков, строк, кортежей. Разберёшь типичные ошибки новичков и поймёшь, почему пустое множество нельзя создать через {}. Также познакомишься с frozenset — неизменяемым аналогом обычного множества. Задания построены от простого к сложному, так что начнём с базы и постепенно дойдём до хитрых случаев.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Создание множеств.
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Создание множества с элементами
Создайте множество с тремя фруктами: яблоко, банан и вишня. Множества в Python записываются в фигурных скобках, элементы разделяются запятыми.
fruits = input1S'apple', 'banana', 'cherry'input2S
print(fruits)Тип пустых фигурных скобок
Посмотрите на код и определите, что выведет функция type(). Это важный нюанс, который часто путает начинающих.
empty = {}
print(type(empty).__name__)Создание пустого множества
Создайте пустое множество. Помните, что пустые фигурные скобки создают словарь, а не множество! Нужен другой способ.
empty_set = input1S
print(type(empty_set).__name__) # Должно вывести: setИсправьте ошибку с пустым множеством
Программист хотел создать пустое множество и добавить в него элемент. Но что-то пошло не так — код выдаёт ошибку. Найдите и исправьте проблемную строку.
my_set = {}my_set.add('hello')print(my_set)Уникальность элементов множества
Множества автоматически удаляют дубликаты. Посмотрите на код и введите число — сколько элементов будет в итоговом множестве?
numbers = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4}
print(len(numbers))Множество из строки
Функция set() может принимать любой итерируемый объект, включая строки. Что выведет этот код?
letters = set('hello')
print(len(letters))Способы создания множеств
Сопоставьте выражения Python слева с типом данных, который они создают, справа.
{1, 2, 3}set(){}set([4, 5, 6])Что можно положить в множество?
Элементы множества должны быть хешируемыми (неизменяемыми). Распределите объекты по категориям: что можно добавить в множество, а что вызовет ошибку.
42'hello'[1, 2, 3](1, 2, 3){'a': 1}frozenset({1, 2}){1, 2, 3}Ошибка с изменяемым элементом
Программист пытается создать множество координат точек. Код вызывает ошибку. Найдите проблемную строку и исправьте её так, чтобы код заработал.
points = { [0, 0], [1, 1], [2, 2]}print(points)Множество из кортежа
Функция set() может создавать множество из любого итерируемого объекта. Что выведет этот код?
data = (10, 20, 30, 20, 10)
result = set(data)
print(len(result))Создание frozenset
Создайте неизменяемое множество (frozenset) из списка цветов. Такое множество можно использовать как ключ словаря или элемент другого множества.
colors_list = ['red', 'green', 'blue']
colors_frozen = input1S(colors_list)
print(type(colors_frozen).__name__)Соберите код: удаление дубликатов из списка
Соберите код, который принимает список с повторами, преобразует его в множество для удаления дубликатов, затем обратно в список и выводит результат. Одна строка лишняя.
unique_list = list(unique_set)print(unique_list)unique_set = set(numbers)numbers = [1, 2, 2, 3, 3, 3]unique_set = {numbers}Множество из range
Функция set() может создать множество из любого итератора, включая range(). Введите число — сколько элементов будет в множестве?
nums = set(range(5))
print(len(nums))Порядок создания вложенных структур
Расставьте строки в правильном порядке, чтобы создать словарь, где ключами являются frozenset. Такое возможно, потому что frozenset — хешируемый объект.
print(permissions)key1 = frozenset(['read', 'write'])permissions = {key1: 'admin', key2: 'guest'}key2 = frozenset(['read'])