Лабораторная работа 10. Множества
Создание множеств
my_set = {1, 2, 3}
another_set = set([3, 4, 5])
Добавление элемента
my_set.add(4)
Удаление элемента
my_set.discard(2) # Удаляет 2, если есть, ничего не делает, если нет
Объединение множеств
union_set = my_set | another_set # Объединяет два множества
# или
union_set = my_set.union(another_set)
Пересечение множеств
intersection_set = my_set & another_set # Пересечение двух множеств
# или
intersection_set = my_set.intersection(another_set)
Разница множеств
difference_set = my_set - another_set # Разница между двумя множествами
# или
difference_set = my_set.difference(another_set)
Симметрическая разница множеств
difference_set = my_set - another_set # Разница между двумя множествами
# или
difference_set = my_set.difference(another_set)
Проверка на подмножество и надмножество
is_subset = my_set.issubset(another_set) # Проверяет, является ли my_set подмножеством another_set
is_superset = my_set.issuperset(another_set) # Проверяет, является ли my_set надмножеством another_set
Перебор элементов множества в цикле
months = set({"Jan", "Feb", "March", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec“})
for m in months:
print(m)
Задания
- Пусть дано множество, которое представляет студентов:
И пусть дано множество, которое представляет рабочих:
Некоторые одновременно могут учиться и работать.
Напишите программу, которая находит
- Всех людей в обоих группах
- Всех людей, которые одновременно и учатся, и работают
- Всех людей, которые только учатся, но не работают
- Всех людей, которые либо только учатся, либо только работают, но не одновременно
- Напишите функцию, которая принимает список и возвращает множество, содержащее только уникальные элементы.
- Напишите функцию, которая принимает два множества и проверяет, является ли одно из них подмножеством другого.
- Напишите функцию, которая принимает два множества и возвращает симметрическую разность (элементы, которые находятся только в одном из множеств).
- Напишите программу, которая принимает строку, разбивает её на слова и возвращает множество уникальных слов.
- Напишите функцию, которая принимает две строки и возвращает множество уникальных символов, содержащихся в обеих строках.
- Напишите функцию, которая принимает несколько списков и находит элементы, которые встречаются во всех списках.