JavaRush /Курси /Модуль 1: Python Core /Множини в Python

Множини в Python

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

2.1 Множина і її властивості

Множини — це особливий тип колекцій даних в програмуванні, який допомагає зберігати унікальні елементи. Простіше кажучи, множина схожа на кошик, в який можна класти тільки неповторювані предмети. Якщо ти спробуєш покласти в кошик щось, що вже там є, кошик просто проігнорує цю дію.

Основні характеристики множин

Унікальність:

У множині кожен елемент унікальний. Якщо ти додасиш елемент, який вже існує в множині, він не буде доданий вдруге.

Неупорядкованість:

На відміну від списків, елементи в множині не мають певного порядку. Це значить, що ти не можеш звертатися до елементів за індексом.

Змінність:

Множини можна змінювати — додавати і видаляти елементи, але самі елементи множини повинні бути незмінними (наприклад, числа, рядки або кортежі).

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

Давай розглянемо всі способи створення множин в Python, щоб ти мав повний арсенал методів для роботи з ними.

Використання фігурних дужок

Найпоширеніший спосіб створення множини — використання фігурних дужок {}. Так само, як і при роботі з кортежами і списками, ти просто перераховуєш елементи всередині дужок:


fruit_set = {"apple", "banana", "cherry"}
print(fruit_set)  # Вивід: {"banana", "cherry", "apple"}
        

Елементи можуть бути різних типів, але кожен елемент повинен бути унікальним.


fruit_set = {"apple", 1, 3.25}
print(fruit_set)  # Вивід: {1, "apple", 3.25} 
        

Використання функції set()

Функція set() може використовуватися для створення множини з іншого ітерованого об’єкта, наприклад, списку, рядка або кортежу.

З списку


list_to_set = set([1, 2, 3, 4, 4, 5])
print(list_to_set)  # Вивід: {1, 2, 3, 4, 5} 
        

З рядка


string_to_set = set("hello")
print(string_to_set)  # Вивід: {"h", "e", "l", "o"} 
        

З кортежу


tuple_to_set = set((1, 2, 3, 4, 5))
print(tuple_to_set)  # Вивід: {1, 2, 3, 4, 5} 
        

З іншої множини

Ти можеш створити множину з іншої множини, що корисно для створення копій.


original_set = {"apple", "banana", "cherry"}
new_set = set(original_set)
print(new_set)  # Вивід: {"banana", "cherry", "apple"} 
        

Пуста множина

Для створення порожньої множини використовується функція set(). Зверни увагу, що використання фігурних дужок {} створить порожній словник (dictionary), а не множину.


empty_set = set()
print(empty_set)  # Вивід: set() 
        

2.3 Список методів

Множини в Python мають набір методів, що дозволяють ефективно керувати колекціями даних. Ось деякі з найпопулярніших методів класу set:

Метод Опис
add() Додає елемент у множину
remove() Видаляє елемент з множини, викликає помилку якщо елемента немає
discard() Видаляє елемент з множини, помилка не виникає якщо елемента немає
pop() Видаляє і повертає випадковий елемент, викликає помилку якщо множина порожня
clear() Видаляє всі елементи з множини
union() Повертає об'єднання множин
intersection() Повертає перетин множин
difference() Повертає різницю множин
symmetric_difference() Повертає симетричну різницю множин
update() Додає елементи з іншої множини або ітерованого об'єкта в поточну множину/td>

Нижче ми розберемо нюанси роботи всіх цих методів і навіть трохи більше.

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

my_set = set(input() for i in range(10))

print(my_set)
Можно сделать полноценную запись цикла, но и в таком читаемость кода не храмает.
Pavlo Kushnir Рівень 26
1 червня 2025
Так, здається у вправ є проблема. Розвязання задач відбуваєть правильно. Запуск виконує код згідно з завданням. Але Перевірка показує, що все невірно. Єдиний спосіб пройти завдання - скопіювати код з Підказки. Мій код, який "повністю невірний": aset = {} bset = {1} cset = {1, 2, 3, 4, 5} dset = set(range(100)) eset = set(range(1000)) print(aset) print(bset) print(cset) print(dset) print(eset)
Наталья Крейц Рівень 18
5 червня 2025
Порожня множина створюється через set = set() Програма буде вважати set = {} - словником
Дмитро Рівень 21
2 липня 2025
Я зробив простіше, і все працює.
negoda Рівень 31
18 липня 2025
Есть способ лучше :

empty_set = set() #Создаем пустое множество

single_set = {1,} #Создаем множество с одним значением (вручную)

fifth_set = set(range(5))         # Множество от 0 до 4 с помощью range()

hundredth_set = set(range(100))   # Множество от 0 до 99 с помощью range()

thousandth_set = set(range(1000)) # Множество от 0 до 999 с помощью range()
Плюс, вывод с помощью print() незачем, так как условия вывода множеств в задаче нету. Но если нужно было бы, то можно без дублирования принт :

print(f"{empty_set}\n{single_set}\n{fifth_set}\n{hundredth_set}\n{thousandth_set}")
(\n - перенос строки, каждое новое множество будет выводится с новой строки)
Andriy Trubchanin Рівень 23
7 лютого 2025
Скрізь заміновано )

print(type({1}))    # set
print(type({}))     # dict