Множества

Последнее обновление: 30.01.2024
Упражнение 1

Напишите программу, которая сравнивает два списка и выводит список с элементами, которые есть в первом списке, но отсутствуют во втором. Пример работы программы:

list1: [10, 20, 30, 40, 50]
list2: [20, 25, 30, 35, 40]
Разность списков:  [10, 50]
Решение

Возможно, первое решение, которое приходит на ум, это перебрать элементы первого списка и посмотреть, есть ли они во втором списке. Однако проще преобразовать каждый список во множество и выполнить операцию разности множеств:

# два сравниваемых списка
list1 = [10, 20, 30, 40, 50]
list2 = [20, 25, 30, 35, 40]
# выводим списки
print ("list1:", list1)
print ("list2:", list2)
# находим разность списков
print ("Разность списков: ",  list (set(list1) - set (list2)))

Упражнение 2

Пусть дано множество, которое представляет студентов:

students = {"Tom", "Bob", "Sam"}

И пусть дано множество, которое представляет рабочих:

employees = {"Tom", "Bob", "Alex", "Mike"}

Как видно, некоторые одновременно могут учиться и работать.

Напишите программу, которая находит

  • Всех людей в обоих группах

  • Всех людей, которые одновременно и учатся, и работают

  • Всех людей, которые только учатся, но не работают

  • Всех людей, которые либо только учатся, либо только работают, но не одновременно

Решение
students = {"Tom", "Bob", "Sam"}
employees = {"Tom", "Bob", "Alex", "Mike"}

print("Все:", students.union(employees))
print("Одновременно учатся и работают:", students.intersection(employees))
print("Только учатся, но не работают:", students.difference(employees))
print("Либо только учатся, либо только работают:", students.symmetric_difference(employees))
Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850