Множества в Python — это особый тип коллекции, который хранит уникальные неповторяющиеся элементы без определённого порядка. Множества очень полезны, когда нужно избавиться от дубликатов или быстро проверить, есть ли определённый элемент в наборе, потому что поиск в множествах работает быстрее.
fruits = {"яблоко", "банан", "киви"}
print(fruits) # Порядок может быть любым, например {'киви', 'яблоко', 'банан'} empty_set = set()
print(empty_set) # set() print("яблоко" in fruits) # True
print("груша" in fruits) # False fruits.add("груша")
print(fruits) # {'яблоко', 'банан', 'киви', 'груша'} fruits.remove("банан")
fruits.discard("апельсин") # нет ошибки, хоть элемента и нет
print(fruits) # Например: {'яблоко', 'киви', 'груша'} item = fruits.pop()
print(item) # Например: 'киви'
print(fruits) # Множество без этого элемента fruits.clear()
print(fruits) # set() Объединение — это множество, которое содержит все элементы из двух множеств, без повторов.
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # {1, 2, 3, 4, 5}
print(a.union(b)) # {1, 2, 3, 4, 5} Пересечение — это элементы, которые есть в обоих множествах.
print(a & b) # {3}
print(a.intersection(b)) # {3} Разность — это элементы из первого множества, которых нет во втором.
print(a - b) # {1, 2}
print(a.difference(b)) # {1, 2} print(a ^ b) # {1, 2, 4, 5}
print(a.symmetric_difference(b)) # {1, 2, 4, 5} a = {1, 2}
b = {1, 2, 3, 4}
print(a <= b) # True, т.к. все элементы a есть в b
print(b >= a) # True, т.к. b содержит все элементы a
print(a == b) # False, множества разные по содержимому # Убираем дубликаты из списка
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers) # {1, 2, 3, 4, 5} # Проверяем пересечение двух групп
group_a = {"Кирилл", "Оля", "Игорь"}
group_b = {"Оля", "Сергей", "Игорь"}
common = group_a & group_b
print("Общие участники:", common) # {'Оля', 'Игорь'} Таким образом, множества в Python — это удобный и мощный инструмент для работы с уникальными элементами и для реализации основных операций теории множеств.