Множина (set) в Python

 24376

Множина (set) в Python — це набір унікальних даних. Елементи множини не можуть дублюватися. Множина може містити будь-яку кількість елементів, і вони можуть бути різних типів (int, float, кортеж, рядки тощо). Але множина не може мати змінювані елементи, такі як списки, словники або інші множини. Для створення множини всі елементи поміщають усередині фігурних дужок {}, розділених комами.

Створення множини в Python

В Python для створення множини всі елементи поміщають усередині фігурних дужок {}, розділених комами.

Множина може містити будь-яку кількість елементів, і вони можуть бути різних типів (int, float, кортеж, рядки тощо). Але множина не може мати змінювані елементи, такі як списки, словники або інші множини.

Розглянемо приклад:

Результат:

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() без жодних аргументів. Наприклад:

Результат:

Data type of empty_set: <class 'set'>
Data type of empty_dictionary <class 'dict'>

Тут:

   empty_set — порожня множина, створена за допомогою set();

   empty_dictionary — порожній словник, створений за допомогою {}.

Нарешті ми використали функцію type() для визначення типу даних empty_set та empty_dictionary.

Дублювання елементів у множині

Подивимося, що станеться, якщо ми спробуємо включити в набір елементи, що дублюються.

Результат:

{8, 2, 4, 6}

Тут бачимо, що у множині немає однакових елементів, оскільки вона може містити дублі.

Додавання, оновлення та видалення елементів множини в Python

Множини змінювані. Однак, оскільки вони невпорядковані, індексування не має сенсу. Ми не можемо отримати доступ або змінити елемент множини за допомогою індексації або зрізу. Тип даних set не підтримує цього.

Додавання елемента до множини

В Python метод add() використовується для додавання елемента до множини. Наприклад:

Результат:

Initial Set: {34, 12, 21, 54}
Updated Set: {32, 34, 12, 21, 54}

Тут ми створили множину з ім’ям numbers. Зверніть увагу на рядок:

Тут add() додає значення 32 до нашої множини.

Оновлення множини

В Python метод update() використовується для оновлення множини елементів інших типів даних (списки, кортежі тощо). Наприклад:

Результат:

{'Lacoste', 'Ralph Lauren', 'apple', 'google'}

Тут всі унікальні елементи tech_companies додаються до множини companies.

Видалення елемента з множини

В Python метод discard() використовується для видалення зазначеного елемента з множини. Наприклад:

Результат:

Initial Set: {'Python', 'Swift', 'Java'}
Set after remove(): {'Python', 'Swift'}

Тут ми використали метод discard(), щоб видалити 'Java' з множини language.

Ітерація по множині в Python

Результат:

Mango
Peach
Apple

Визначення кількості елементів множини

В Python метод len() використовується для визначення кількості елементів, присутніх у множині. Наприклад:

Результат:

Set: {8, 2, 4, 6}
Total Elements: 4

Операції з множинами в Python

Python надає різні вбудовані методи для виконання математичних операцій з множинами, таких як об’єднання, перетин, різниця та симетрична різниця.

Об’єднання множин

Об’єднання двох множин A та B включає всі елементи множин A та B.

Для виконання операції об’єднання множин використовується оператор | або метод union(). Наприклад:

Результат:

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(). Наприклад:

Результат:

Intersection using &: {1, 3}
Intersection using intersection(): {1, 3}

Примітка: A & B і intersection() еквівалентні операції множини A ⋂ B.

Різниця множин

Різниця між двома множинами A і B включає елементи множини A, яких немає в множині B.

В Python для виконання операції різниці між двома множинами використовується оператор - або метод difference(). Наприклад:

Результат:

Difference using -: {3, 5}
Difference using difference(): {3, 5}

Примітка: A - B та A.difference(B) еквівалентні операції множини A - B.

Симетрична різниця множин

Симетрична різниця двох множин A і B включає всі елементи A і B без спільних елементів.

В Python для виконання операції симетричної різниці між двома множинами використовується оператор ^ або метод symmetric_difference(). Наприклад:

Результат:

using ^: {1, 3, 5, 6}
using symmetric_difference(): {1, 3, 5, 6}

Перевірка, чи є дві множини рівними

В Python оператор == використовується, щоб перевірити, чи рівні дві множини. Наприклад:

Результат:

Set A and Set B are equal

Тут 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() Оновлює множину з об’єднанням себе та інших.

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (29 оцінок, середня: 4,76 з 5)
Завантаження...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *