Множина (set) в Python — це набір унікальних даних. Елементи множини не можуть дублюватися. Множина може містити будь-яку кількість елементів, і вони можуть бути різних типів (int, float, кортеж, рядки тощо). Але множина не може мати змінювані елементи, такі як списки, словники або інші множини. Для створення множини всі елементи поміщають усередині фігурних дужок {}, розділених комами.
Створення множини в Python
В Python для створення множини всі елементи поміщають усередині фігурних дужок {}, розділених комами.
Множина може містити будь-яку кількість елементів, і вони можуть бути різних типів (int, float, кортеж, рядки тощо). Але множина не може мати змінювані елементи, такі як списки, словники або інші множини.
Розглянемо приклад:
|
1 2 3 4 5 6 7 8 9 10 11 |
# Множина цілочисленного типу student_id = {112, 114, 116, 118, 115} print('Student ID:', student_id) # Множина рядкового типу vowel_letters = {'a', 'e', 'i', 'o', 'u'} print('Vowel Letters:', vowel_letters) # Множина змішаного типу mixed_set = {'Hello', 101, -2, 'Bye'} print('Set of mixed data types:', mixed_set) |
Результат:
Student ID: {112, 114, 115, 116, 118}
Vowel Letters: {'u', 'a', 'e', 'i', 'o'}
Set of mixed data types: {'Hello', 'Bye', 101, -2}
Тут ми створили різні типи множин, помістивши всі елементи усередині фігурних дужок {}.
Примітка: При виконанні цього коду можна отримати результат з елементами в іншому порядку. Це відбувається через те, що множина не має певного порядку.
Створення порожньої множини — справа нехитра. Порожні фігурні дужки створюють порожній словник у Python. А для створення порожньої множини потрібно використати функцію set() без жодних аргументів. Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 |
# Створення порожньої множини empty_set = set() # Створення порожнього словника empty_dictionary = { } # Перевірка типу даних empty_set print('Data type of empty_set:', type(empty_set)) # Перевірка типу даних dictionary_set print('Data type of empty_dictionary', type(empty_dictionary)) |
Результат:
Data type of empty_set: <class 'set'>
Data type of empty_dictionary <class 'dict'>
Тут:
empty_set — порожня множина, створена за допомогою set();
empty_dictionary — порожній словник, створений за допомогою {}.
Нарешті ми використали функцію type() для визначення типу даних empty_set та empty_dictionary.
Дублювання елементів у множині
Подивимося, що станеться, якщо ми спробуємо включити в набір елементи, що дублюються.
|
1 2 |
numbers = {2, 4, 6, 6, 2, 8} print(numbers) |
Результат:
{8, 2, 4, 6}
Тут бачимо, що у множині немає однакових елементів, оскільки вона може містити дублі.
Додавання, оновлення та видалення елементів множини в Python
Множини змінювані. Однак, оскільки вони невпорядковані, індексування не має сенсу. Ми не можемо отримати доступ або змінити елемент множини за допомогою індексації або зрізу. Тип даних set не підтримує цього.
Додавання елемента до множини
В Python метод add() використовується для додавання елемента до множини. Наприклад:
|
1 2 3 4 5 6 7 8 |
numbers = {21, 34, 54, 12} print('Initial Set:',numbers) # Використання методу add() numbers.add(32) print('Updated Set:', numbers) |
Результат:
Initial Set: {34, 12, 21, 54}
Updated Set: {32, 34, 12, 21, 54}
Тут ми створили множину з ім’ям numbers. Зверніть увагу на рядок:
|
1 |
numbers.add(32) |
Тут add() додає значення 32 до нашої множини.
Оновлення множини
В Python метод update() використовується для оновлення множини елементів інших типів даних (списки, кортежі тощо). Наприклад:
|
1 2 3 4 5 6 |
companies = {'Lacoste', 'Ralph Lauren'} tech_companies = ['apple', 'google', 'apple'] companies.update(tech_companies) print(companies) |
Результат:
{'Lacoste', 'Ralph Lauren', 'apple', 'google'}
Тут всі унікальні елементи tech_companies додаються до множини companies.
Видалення елемента з множини
В Python метод discard() використовується для видалення зазначеного елемента з множини. Наприклад:
|
1 2 3 4 5 6 7 8 |
languages = {'Swift', 'Java', 'Python'} print('Initial Set:',languages) # Видалення 'Java' з множини removedValue = languages.discard('Java') print('Set after remove():', languages) |
Результат:
Initial Set: {'Python', 'Swift', 'Java'}
Set after remove(): {'Python', 'Swift'}
Тут ми використали метод discard(), щоб видалити 'Java' з множини language.
Ітерація по множині в Python
|
1 2 3 4 5 |
fruits = {"Apple", "Peach", "Mango"} # Використовуємо цикл for для доступу до кожного елемента for fruit in fruits: print(fruit) |
Результат:
Визначення кількості елементів множини
В Python метод len() використовується для визначення кількості елементів, присутніх у множині. Наприклад:
|
1 2 3 4 |
even_numbers = {2,4,6,8} print('Set:',even_numbers) print('Total Elements:', len(even_numbers)) |
Результат:
Set: {8, 2, 4, 6}
Total Elements: 4
Операції з множинами в Python
Python надає різні вбудовані методи для виконання математичних операцій з множинами, таких як об’єднання, перетин, різниця та симетрична різниця.
Об’єднання множин
Об’єднання двох множин A та B включає всі елементи множин A та B.

Для виконання операції об’єднання множин використовується оператор | або метод union(). Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 |
# Перша множина A = {1, 3, 5} # Друга множина B = {0, 2, 4} # Виконання операції об'єднання за допомогою | print('Union using |:', A | B) # Виконання операції об'єднання за допомогою union() print('Union using union():', A.union(B)) |
Результат:
Union using |: {0, 1, 2, 3, 4, 5}
Union using union(): {0, 1, 2, 3, 4, 5}
Примітка: A | B та union() еквівалентні операції множини A ⋃ B.
Перетин множин
Перетин двох множин A і B включає загальні елементи між множинами A та B.

В Python для виконання операції перетину множин використовується оператор & або метод intersection(). Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 |
# Перша множина A = {1, 3, 5} # Друга множина B = {1, 2, 3} # Виконання операції перетину за допомогою & print('Intersection using &:', A & B) # Виконання операції перетину за допомогою intersection() print('Intersection using intersection():', A.intersection(B)) |
Результат:
Intersection using &: {1, 3}
Intersection using intersection(): {1, 3}
Примітка: A & B і intersection() еквівалентні операції множини A ⋂ B.
Різниця множин
Різниця між двома множинами A і B включає елементи множини A, яких немає в множині B.

В Python для виконання операції різниці між двома множинами використовується оператор - або метод difference(). Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 |
# Перша множина A = {2, 3, 5} # Друга множина B = {1, 2, 6} # Виконання операції різниці за допомогою - print('Difference using -:', A - B) # Виконання операції різниці за допомогою difference() print('Difference using difference():', A.difference(B)) |
Результат:
Difference using -: {3, 5}
Difference using difference(): {3, 5}
Примітка: A - B та A.difference(B) еквівалентні операції множини A - B.
Симетрична різниця множин
Симетрична різниця двох множин A і B включає всі елементи A і B без спільних елементів.

В Python для виконання операції симетричної різниці між двома множинами використовується оператор ^ або метод symmetric_difference(). Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 |
# Перша множина A = {2, 3, 5} # Друга множина B = {1, 2, 6} # Виконання операції симетричної різниці за допомогою & print('using ^:', A ^ B) # Виконання операції симетричної різниці за допомогою symmetric_difference() print('using symmetric_difference():', A.symmetric_difference(B)) |
Результат:
using ^: {1, 3, 5, 6}
using symmetric_difference(): {1, 3, 5, 6}
Перевірка, чи є дві множини рівними
В Python оператор == використовується, щоб перевірити, чи рівні дві множини. Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 |
# Перша множина A = {1, 3, 5} # Друга множина B = {3, 5, 1} # Перевіряємо, чи рівні дві множини if A == B: print('Set A and Set B are equal') else: print('Set A and Set B are not equal') |
Результат:
Set A and Set B are equal
Тут A та B мають однакові елементи, тому умова
|
1 |
if A == B |
обчислюється в True. Отже, виконується print('Set A and Set B are equal') всередині if.
Методи для роботи з множинами в Python
| Функції | Опис |
| add() | Додає елемент до множини. |
| all() | Повертає True, якщо всі елементи множини дорівнюють True (або якщо множина порожня). |
| any() | Повертає True, якщо хоч один з елементів множини дорівнює True. Якщо множина порожня, повертається False. |
| clear() | Видаляє всі елементи з множини. |
| copy() | Повертає копію множини. |
| difference() | Повертає різницю двох або більше множин у вигляді нової множини. |
| difference_update() | Видаляє всі елементи іншої множини з поточної множини. |
| discard() | Видаляє елемент із множини, якщо він є її частиною. (Нічого не робить, якщо елемент не знаходиться у множині) |
| enumerate() | Повертає об’єкт переліку, який містить індекс і значення для всіх елементів множини у вигляді пари. |
| intersection() | Повертає перетин двох множин у вигляді нової множини. |
| intersection_update() | Оновлює множину перетином себе та іншої множини. |
| isdisjoint() | Повертає True, якщо дві множини не мають перетину. |
| issubset() | Повертає True, якщо інша множина містить поточну множину. |
| issuperset() | Повертає True, якщо поточна множина містить іншу множину. |
| len() | Повертає довжину (кількість елементів) у множині. |
| max() | Повертає найбільший елемент у множині. |
| min() | Повертає найменший елемент у множині. |
| pop() | Видаляє та повертає довільний елемент множини. Викликає помилку KeyError, якщо множина порожня. |
| remove() | Видаляє елемент із множини. Якщо елемент не є членом множини, виникає помилка KeyError. |
| sorted() | Повертає новий відсортований список з елементів множини (але не виконує сортування). |
| sum() | Повертає суму всіх елементів множини. |
| symmetric_difference() | Повертає симетричну різницю двох множин у вигляді нової множини. |
| symmetric_difference_update() | Оновлює множину з симетричною різницею себе та іншої. |
| union() | Повертає об’єднання множин у новій множині. |
| update() | Оновлює множину з об’єднанням себе та інших. |

(29 оцінок, середня: 4,76 з 5)