🐍 Python: Практические задания

Тема: Работа с множествами

📊 Прогресс:

0/0

🟢 Уровень 1: Создание множеств

Задача 1.1: Удаление дубликатов
Дан список с повторяющимися элементами. Создайте множество из этого списка, чтобы убрать дубликаты.
💡 Подсказка:
Используйте конструктор set() для преобразования списка в множество.
✅ Решение:
lst = [1, 2, 2, 3, 4, 4, 5]
unique = set(lst)
print(unique)  # {1, 2, 3, 4, 5}
Задача 1.2: Множество из строки
Создайте множество из символов строки "hello world".
💡 Подсказка:
Преобразуйте строку в множество через set() — каждый символ будет отдельным элементом.
✅ Решение:
s = "hello world"
chars = set(s)
print(chars)  # {' ', 'd', 'e', 'h', 'l', 'o', 'r', 'w'}
Задача 1.3: Добавление элемента
Добавьте новый элемент в множество, если его там нет.
💡 Подсказка:
Для добавления используйте метод .add().
✅ Решение:
s = {1, 2, 3}
s.add(4)
print(s)  # {1, 2, 3, 4}

🟡 Уровень 2: Операции объединения

Задача 2.1: Объединение множеств
Даны два списка чисел. Получите множество, содержащее только уникальные элементы из обоих списков вместе.
💡 Подсказка:
Объедините множества с помощью оператора |.
✅ Решение:
lst1 = [1, 2, 3]
lst2 = [2, 3, 4]
set1 = set(lst1)
set2 = set(lst2)
union = set1 | set2
print(union)  # {1, 2, 3, 4}
Задача 2.2: Пересечение множеств
Определите множество элементов, которые есть одновременно в двух множествах.
💡 Подсказка:
Используйте оператор & для пересечения.
✅ Решение:
a = {1, 2, 3}
b = {2, 3, 4}
intersection = a & b
print(intersection)  # {2, 3}
Задача 2.3: Удаление элемента
Удалите элемент из множества.
💡 Подсказка:
Используйте метод .remove() или .discard().
✅ Решение:
s = {1, 2, 3}
s.remove(2)
print(s)  # {1, 3}

🟠 Уровень 3: Разность и сравнение

Задача 3.1: Разность множеств
Даны два множества чисел. Найдите множество элементов, которые есть в первом, но отсутствуют во втором.
💡 Подсказка:
Воспользуйтесь оператором - для разности множеств.
✅ Решение:
a = {1, 2, 3, 4}
b = {3, 4, 5}
diff = a - b
print(diff)  # {1, 2}
Задача 3.2: Проверка равенства
Определите, являются ли два множества равными (содержат одни и те же элементы).
💡 Подсказка:
Используйте оператор ==.
✅ Решение:
a = {1, 2, 3}
b = {3, 2, 1}
print(a == b)  # True
Задача 3.3: Проверка подмножества
Определите, является ли одно множество подмножеством другого.
💡 Подсказка:
Используйте метод .issubset().
✅ Решение:
a = {1, 2}
b = {1, 2, 3}
print(a.issubset(b))  # True

🔴 Уровень 4: Симметрическая разность и подсчёт

Задача 4.1: Симметрическая разность
Получите множество элементов, которые есть в одном из множеств, но отсутствуют в другом (симметрическая разность).
💡 Подсказка:
Используйте оператор ^.
✅ Решение:
a = {1, 2, 3}
b = {2, 3, 4}
sym_diff = a ^ b
print(sym_diff)  # {1, 4}
Задача 4.2: Подсчёт уникальных элементов
Создайте множество из списка с дубликатами и посчитайте количество уникальных элементов.
💡 Подсказка:
Сначала преобразуйте в множество, затем используйте len().
✅ Решение:
lst = [1, 2, 2, 3, 3, 3]
unique = set(lst)
count = len(unique)
print(count)  # 3
Задача 4.3: Уникальные слова
Дана строка с повторяющимися словами. Получите множество уникальных слов.
💡 Подсказка:
Разделите строку на список с помощью .split(), затем преобразуйте в множество.
✅ Решение:
text = "apple banana apple orange banana"
words = text.split()
unique_words = set(words)
print(unique_words)  # {'apple', 'banana', 'orange'}

🟣 Уровень 5: Комплексные операции

Задача 5.1: Разность списков
Даны два списка с элементами. Найдите элементы, которые есть в первом списке, но отсутствуют во втором (без дубликатов).
💡 Подсказка:
Преобразуйте оба списка во множества и найдите разность.
✅ Решение:
lst1 = [1, 2, 3, 4]
lst2 = [3, 4, 5]
result = set(lst1) - set(lst2)
print(result)  # {1, 2}
Задача 5.2: Проверка уникальности символов
Дана строка. Проверьте, все ли символы в ней уникальны (без повторов).
💡 Подсказка:
Сравните длину строки и длину множества символов.
✅ Решение:
s = "python"
unique_chars = set(s)
print(len(s) == len(unique_chars))  # True
Задача 5.3: Комбинированные операции
Даны два множества. Создайте новое множество из элементов, которые есть в первом множестве или во втором, но не в обоих одновременно, затем добавьте в него новый элемент.
💡 Подсказка:
Используйте симметрическую разность ^, затем .add().
✅ Решение:
a = {1, 2, 3}
b = {2, 3, 4}
result = a ^ b
result.add(5)
print(result)  # {1, 4, 5}

💡 Полезные советы