JavaRush /Курси /Модуль 1: Python Core /Операції над множинами

Операції над множинами

Модуль 1: Python Core
Рівень 6 , Лекція 7
Відкрита

8.1 Таблиця операторів і методів

Мова Python підтримує перевантаження операторів, а це означає, що операції над об'єктами можна робити не тільки за допомогою методів, але і за допомогою операторів, таких як: +, -, *, /, | і т.д.

Клас set (множина) перевантажив усі можливі оператори, щоб працювати з множинами було просто і дуже схоже на те, як це робиться в математиці.

Ось таблиця таких операторів:

Оператор Метод Опис
| union() Повертає об'єднання двох множин.
& intersection() Повертає перетин множин (тільки спільні елементи).
- difference() Повертає різницю множин (елементи, які є тільки в першій множині).
^ symmetric_difference() Повертає симетричну різницю множин (елементи, які є в одній з множин, але не в обох).
<= issubset() Перевіряє, чи є одна множина підмножиною іншої.
< issubset() Перевіряє, чи є одна множина власною підмножиною іншої (строге підмножина).
>= issuperset() Перевіряє, чи є одна множина надмножиною іншої.
> issuperset() Перевіряє, чи є одна множина власною надмножиною іншої (строге надмножина).
== __eq__() Перевіряє, чи рівні множини (містять однакові елементи).
!= __ne__() Перевіряє, чи не рівні множини (містять різні елементи).

Дуже зручно використовувати оператори при роботі з множинами – зараз ви самі в цьому переконаєтесь.

8.2 Робота з множинами через оператори

Об'єднання (OR)

Оператор | Використання функції union()

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2
print(union_set)  # Вивід: {1, 2, 3, 4, 5}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)  
print(union_set)  # Вивід: {1, 2, 3, 4, 5}
                            
                    

Перетин (AND)

Оператор & Використання функції intersection ()

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1 & set2
print(intersection_set)  # Вивід: {3}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2)
print(intersection_set)  # Вивід: {3}

Різниця (DIFFERENCE)

Оператор - Використання функції difference ()

 

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5}
difference_set = set1 - set2
print(difference_set)  # Вивід: {1, 2}

                    

 

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5}
difference_set = set1.difference(set2)
print(difference_set)  # Вивід: {1, 2}

Симетрична різниця (SYMMETRIC DIFFERENCE)

Оператор ^ Використання функції symmetric_difference ()

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
s_diff = set1 ^ set2
print(s_diff)  # Вивід: {1, 2, 4, 5}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
s_diff = set1.symmetric_difference(set2)
print(s_diff)  # Вивід: {1, 2, 4, 5}

Дивно, що ніде не використовується оператор + або *, але як то кажуть господар — пан. Розробники мови Python так вирішили, і їм видніше.

1
Опитування
Множини в Python, рівень 6, лекція 7
Недоступний
Множини в Python
Множини в Python
Коментарі (4)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
negoda Рівень 31
19 липня 2025
Решение первой задачи :

my_list_1 = {input() for i in range(4)}
my_list_2 = {input() for i in range(4)}

print(my_list_1.union(my_list_2))
print(my_list_1.intersection(my_list_2))
Решение второй задачи:

from random import randint

my_set_1 = {randint(1, 20) for i in range(10)}
my_set_2 = {randint(10, 30) for i in range(10)}

set_diff = my_set_1.difference(my_set_2)
set_sdiff = my_set_1.symmetric_difference(my_set_2)

print(set_diff)
print(set_sdiff)
Оксана Рівень 25
2 вересня 2025
Друга задача так не працює. Не завжди генерує 10 елементів( Це ж set!!!!! Потрібно через While)
negoda Рівень 31
2 вересня 2025
Хмм, незнаю. Даже если посмотреть решение задачи то там то же что я написал.
Semen Рівень 21
23 червня 2025
два множини з елементів - це що, писали громадяни країн Середньої Азії ? )))