set

Множина (set) в Python — це колекція, яка не впорядкована*, незмінна** та неіндексована.

* - Елементи множини виводяться у випадковому порядку

** - Елементи множини не можна змінювати, але ви можете видалити елементи та додати нові.

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

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

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

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

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

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

# Створення порожньої множини
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'>

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

numbers = {2, 4, 6, 6, 2, 8}
print(numbers)

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

{8, 2, 4, 6}

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

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

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

add() - Додавання елемента до множини

numbers.add(32)

update() - Оновлення множини

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

companies = {'Lacoste', 'Ralph Lauren'}
tech_companies = ['apple', 'google', 'apple']
 
companies.update(tech_companies)
 
print(companies)

Результат:

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

метод discard() - Видалення елемента з множини

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'}

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

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

Функції

Опис

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()

Оновлює множину з об’єднанням себе та інших.

https://acode.com.ua/set-python/

Last updated