Множества (sets) в Python представляют собой неупорядоченные коллекции уникальных элементов. Они предоставляют мощные инструменты для выполнения различных операций над коллекциями данных. В этой статье мы рассмотрим все основные операции с множествами в Python, включая объединение, пересечение, разность, симметрическую разность, а также методы для проверки подмножеств, надмножеств и другие полезные функции.
- Объединение множеств
- Использование метода union()
- Использование оператора |
- Пересечение множеств
- Использование метода intersection()
- Использование оператора &
- Разность множеств
- Использование метода difference()
- Использование оператора -
- Симметрическая разность множеств
- Использование метода symmetric_difference()
- Использование оператора ^
- Проверка подмножеств и надмножеств
- Метод issubset()
- Метод issuperset()
- Метод isdisjoint()
- Изменение множеств
- Добавление элементов
- Удаление элементов
- Метод remove()
- Метод discard()
- Метод pop()
- Очистка множества
Объединение множеств
Объединение двух или более множеств возвращает новое множество, содержащее все уникальные элементы из всех исходных множеств.
Использование метода union()
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Объединение множеств
union_set = set1.union(set2)
# Вывод результата
print(union_set) # Вывод: {1, 2, 3, 4, 5}
Использование оператора |
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Объединение множеств
union_set = set1 | set2
# Вывод результата
print(union_set) # Вывод: {1, 2, 3, 4, 5}
Пересечение множеств
Пересечение возвращает новое множество, содержащее только те элементы, которые присутствуют во всех исходных множествах.
Использование метода intersection()
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Пересечение множеств
intersection_set = set1.intersection(set2)
# Вывод результата
print(intersection_set) # Вывод: {3}
Использование оператора &
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Пересечение множеств
intersection_set = set1 & set2
# Вывод результата
print(intersection_set) # Вывод: {3}
Разность множеств
Разность возвращает новое множество, содержащее элементы, которые присутствуют в одном множестве, но отсутствуют в другом.
Использование метода difference()
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Разность множеств
difference_set = set1.difference(set2)
# Вывод результата
print(difference_set) # Вывод: {1, 2}
Использование оператора -
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Разность множеств
difference_set = set1 - set2
# Вывод результата
print(difference_set) # Вывод: {1, 2}
Симметрическая разность множеств
Симметрическая разность возвращает новое множество, содержащее элементы, которые присутствуют в одном из множеств, но не в обоих одновременно.
Использование метода symmetric_difference()
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Симметрическая разность множеств
symmetric_difference_set = set1.symmetric_difference(set2)
# Вывод результата
print(symmetric_difference_set) # Вывод: {1, 2, 4, 5}
Использование оператора ^
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Симметрическая разность множеств
symmetric_difference_set = set1 ^ set2
# Вывод результата
print(symmetric_difference_set) # Вывод: {1, 2, 4, 5}
Проверка подмножеств и надмножеств
Метод issubset()
Проверяет, является ли одно множество подмножеством другого.
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {1, 2}
# Проверка, является ли set2 подмножеством set1
is_subset = set2.issubset(set1)
# Вывод результата
print(is_subset) # Вывод: True
Метод issuperset()
Проверяет, является ли одно множество надмножеством другого.
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {1, 2}
# Проверка, является ли set1 надмножеством set2
is_superset = set1.issuperset(set2)
# Вывод результата
print(is_superset) # Вывод: True
Метод isdisjoint()
Проверяет, не пересекаются ли два множества (то есть не имеют общих элементов).
# Создание двух множеств
set1 = {1, 2, 3}
set2 = {4, 5, 6}
# Проверка, не пересекаются ли множества
are_disjoint = set1.isdisjoint(set2)
# Вывод результата
print(are_disjoint) # Вывод: True
Изменение множеств
Добавление элементов
Метод add()
добавляет элемент в множество. Если элемент уже присутствует, то он не добавляется повторно.
# Создание множества
my_set = {1, 2, 3}
# Добавление нового элемента
my_set.add(4)
# Вывод результата
print(my_set) # Вывод: {1, 2, 3, 4}
Удаление элементов
Метод remove()
Удаляет элемент из множества. Если элемент не найден, вызывается ошибка KeyError
.
# Создание множества
my_set = {1, 2, 3}
# Удаление элемента
my_set.remove(2)
# Вывод результата
print(my_set) # Вывод: {1, 3}
Метод discard()
Удаляет элемент из множества. Если элемент не найден, ошибка не вызывается.
# Создание множества
my_set = {1, 2, 3}
# Удаление элемента
my_set.discard(2)
my_set.discard(4) # Ошибка не вызывается
# Вывод результата
print(my_set) # Вывод: {1, 3}
Метод pop()
Удаляет и возвращает произвольный элемент из множества. Если множество пустое, вызывается ошибка KeyError
.
# Создание множества
my_set = {1, 2, 3}
# Удаление произвольного элемента
popped_element = my_set.pop()
# Вывод результата
print(popped_element) # Примерный вывод: 1
print(my_set) # Примерный вывод: {2, 3}
Очистка множества
Метод clear()
удаляет все элементы из множества.
# Создание множества
my_set = {1, 2, 3}
# Очистка множества
my_set.clear()
# Вывод результата
print(my_set) # Вывод: set()