Объединение множеств
Python предлагает несколько способов объединить два или более множества.
union() и update() собирают все элементы из обоих множеств.
intersection() оставляет дубликаты и ничего больше.
difference() даёт то, что есть в первом множестве и чего нет в остальных.
symmetric_difference() даёт всё, кроме дубликатов.
Объединение (union)
Вызов union() даёт совершенно новое множество, содержащее все элементы обоих множеств.
Пример
Объедините set1 и set2 в третье множество:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
Вывод: полная программа на Python
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
Пример
Оператор | делает то же самое для двух множеств:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1 | set2
print(set3)
Вывод: полная программа на Python
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1 | set2
print(set3)
Объединение нескольких множеств
Все методы и операторы объединения работают более чем с двумя множествами.
При использовании метода перечислите дополнительные множества в скобках через запятую:
Пример
Передайте три множества в union(), чтобы объединить всего четыре:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1.union(set2, set3, set4)
print(myset)
Вывод: полная программа на Python
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1.union(set2, set3, set4)
print(myset)
Пример
Используйте цепочку |, чтобы объединить четыре множества:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1 | set2 | set3 |set4
print(myset)
Вывод: полная программа на Python
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1 | set2 | set3 |set4
print(myset)
Объединение множества и кортежа
union() принимает не только множества, но и другие типы данных, в том числе списки и кортежи.
Что бы вы ни передали, в результате вы получите множество.
Пример
Объедините множество с кортежем:
x = {"a", "b", "c"}
y = (1, 2, 3)
z = x.union(y)
print(z)
Вывод: полная программа на Python
x = {"a", "b", "c"}
y = (1, 2, 3)
z = x.union(y)
print(z)
Метод update
С помощью update() элементы одного множества добавляются в другое.
Метод изменяет исходное множество напрямую, а не создаёт для вас новое.
Пример
Здесь set1 получает все элементы set2 через update():
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
Вывод: полная программа на Python
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
Пересечение
Оставьте дубликаты и ничего больше
Вызов intersection() создаёт новое множество только с теми элементами, которые есть в обоих множествах.
Пример
Объедините set1 и set2, оставив только их общие элементы:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
Пример
Оператор & даёт тот же результат для двух множеств:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 & set2
print(set3)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 & set2
print(set3)
Пример
С intersection_update() в самом set1 остаётся только то, что у него общего с set2:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.intersection_update(set2)
print(set1)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.intersection_update(set2)
print(set1)
Пример
Объедините множества, содержащие True, False, 1 и 0, а затем посмотрите, какие значения считаются дубликатами:
set1 = {"apple", 1, "banana", 0, "cherry"}
set2 = {False, "google", 1, "apple", 2, True}
set3 = set1.intersection(set2)
print(set3)
Вывод: полная программа на Python
set1 = {"apple", 1, "banana", 0, "cherry"}
set2 = {False, "google", 1, "apple", 2, True}
set3 = set1.intersection(set2)
print(set3)
Разность
Вызов difference() создаёт новое множество только с теми элементами первого множества, которых нет в другом множестве.
Пример
Получите то, что есть в set1 и чего нет в set2:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.difference(set2)
print(set3)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.difference(set2)
print(set3)
Пример
Оператор - даёт тот же результат для двух множеств:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 - set2
print(set3)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 - set2
print(set3)
Пример
Вызовите difference_update(), чтобы убрать из первого множества всё, что есть и в другом множестве:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.difference_update(set2)
print(set1)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.difference_update(set2)
print(set1)
Симметрическая разность
После вызова symmetric_difference() у вас остаются только те элементы, которые принадлежат одному из множеств, но не обоим.
Пример
Получите элементы, которые есть только в одном из двух множеств:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.symmetric_difference(set2)
print(set3)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.symmetric_difference(set2)
print(set3)
Пример
Оператор ^ даёт тот же результат для двух множеств:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 ^ set2
print(set3)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 ^ set2
print(set3)
Пример
Вызовите symmetric_difference_update(), чтобы в set1 остались только элементы, которые есть ровно в одном множестве:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.symmetric_difference_update(set2)
print(set1)
Вывод: полная программа на Python
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.symmetric_difference_update(set2)
print(set1)