Перейти к основному содержимому

Объединение множеств

Python предлагает несколько способов объединить два или более множества.

union() и update() собирают все элементы из обоих множеств.

intersection() оставляет дубликаты и ничего больше.

difference() даёт то, что есть в первом множестве и чего нет в остальных.

symmetric_difference() даёт всё, кроме дубликатов.


Объединение (union)

Вызов union() даёт совершенно новое множество, содержащее все элементы обоих множеств.

Пример

Объедините set1 и set2 в третье множество:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"a", "b", "c"} set2 = {1, 2, 3} set3 = set1.union(set2) print(set3)
Вывод: полная программа на Python

Пример

Оператор | делает то же самое для двух множеств:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"a", "b", "c"} set2 = {1, 2, 3} set3 = set1 | set2 print(set3)
Вывод: полная программа на Python

Объединение нескольких множеств

Все методы и операторы объединения работают более чем с двумя множествами.

При использовании метода перечислите дополнительные множества в скобках через запятую:

Пример

Передайте три множества в union(), чтобы объединить всего четыре:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"a", "b", "c"} set2 = {1, 2, 3} set3 = {"John", "Elena"} set4 = {"apple", "bananas", "cherry"} myset = set1.union(set2, set3, set4) print(myset)
Вывод: полная программа на Python

Пример

Используйте цепочку |, чтобы объединить четыре множества:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"a", "b", "c"} set2 = {1, 2, 3} set3 = {"John", "Elena"} set4 = {"apple", "bananas", "cherry"} myset = set1 | set2 | set3 |set4 print(myset)
Вывод: полная программа на Python

Объединение множества и кортежа

union() принимает не только множества, но и другие типы данных, в том числе списки и кортежи.

Что бы вы ни передали, в результате вы получите множество.

Пример

Объедините множество с кортежем:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. x = {"a", "b", "c"} y = (1, 2, 3) z = x.union(y) print(z)
Вывод: полная программа на Python

Метод update

С помощью update() элементы одного множества добавляются в другое.

Метод изменяет исходное множество напрямую, а не создаёт для вас новое.

Пример

Здесь set1 получает все элементы set2 через update():

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set1.update(set2) print(set1)
Вывод: полная программа на Python

Пересечение

Оставьте дубликаты и ничего больше

Вызов intersection() создаёт новое множество только с теми элементами, которые есть в обоих множествах.

Пример

Объедините set1 и set2, оставив только их общие элементы:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set3 = set1.intersection(set2) print(set3)
Вывод: полная программа на Python

Пример

Оператор & даёт тот же результат для двух множеств:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set3 = set1 & set2 print(set3)
Вывод: полная программа на Python

Пример

С intersection_update() в самом set1 остаётся только то, что у него общего с set2:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set1.intersection_update(set2) print(set1)
Вывод: полная программа на Python

Пример

Объедините множества, содержащие True, False, 1 и 0, а затем посмотрите, какие значения считаются дубликатами:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", 1, "banana", 0, "cherry"} set2 = {False, "google", 1, "apple", 2, True} set3 = set1.intersection(set2) print(set3)
Вывод: полная программа на Python

Разность

Вызов difference() создаёт новое множество только с теми элементами первого множества, которых нет в другом множестве.

Пример

Получите то, что есть в set1 и чего нет в set2:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set3 = set1.difference(set2) print(set3)
Вывод: полная программа на Python

Пример

Оператор - даёт тот же результат для двух множеств:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set3 = set1 - set2 print(set3)
Вывод: полная программа на Python

Пример

Вызовите difference_update(), чтобы убрать из первого множества всё, что есть и в другом множестве:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set1.difference_update(set2) print(set1)
Вывод: полная программа на Python

Симметрическая разность

После вызова symmetric_difference() у вас остаются только те элементы, которые принадлежат одному из множеств, но не обоим.

Пример

Получите элементы, которые есть только в одном из двух множеств:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set3 = set1.symmetric_difference(set2) print(set3)
Вывод: полная программа на Python

Пример

Оператор ^ даёт тот же результат для двух множеств:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set3 = set1 ^ set2 print(set3)
Вывод: полная программа на Python

Пример

Вызовите symmetric_difference_update(), чтобы в set1 остались только элементы, которые есть ровно в одном множестве:

Prompt
Напишите программу на Python, которая демонстрирует код, показанный в примере PromptCookbook. set1 = {"apple", "banana", "cherry"} set2 = {"google", "microsoft", "apple"} set1.symmetric_difference_update(set2) print(set1)
Вывод: полная программа на Python