7.1 Цикл for
Використання циклів для ітерації по елементам множини є частою задачею в програмуванні, особливо коли необхідно обробити кожен елемент множини.
Для ітерації по елементам множини у Python зазвичай використовується цикл for. Оскільки множини не мають фіксованого порядку елементів, цикл for ідеально підходить для обходу елементів множини (тому що використовує механізм ітераторів)
Приклад:
my_set = {1, 2, 3, 4, 5}
for element in my_set:
print(element)
Виглядає дуже просто – давайте додамо кілька практичних прикладів:
Сумування елементів множини
Розглянемо приклад, в якому ми сумуємо всі елементи множини.
my_set = {1, 2, 3, 4, 5}
total = 0
for element in my_set:
total += element
print("Сума елементів множини:", total)
Вивід:
Сума елементів множини: 15
У цьому прикладі ми використовуємо цикл for, щоб по черзі додати кожен елемент множини my_set до змінної total, у результаті чого отримуємо суму всіх елементів множини.
Пошук максимального елементу
А тепер давайте знайдемо максимальний елемент у множині.
my_set = {1, 2, 3, 4, 5}
max_element = None
for element in my_set:
if max_element is None or element > max_element:
max_element = element
print("Максимальний елемент множини:", max_element)
Вивід:
Максимальний елемент множини: 5
У цьому прикладі цикл for використовується для перебору всіх елементів множини та визначення максимального значення.
Фільтрація елементів
Давайте створимо нову множину, що містить лише парні числа з вихідної множини.
my_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
even_set = set()
for element in my_set:
if element % 2 == 0:
even_set.add(element)
print("Множина парних чисел:", even_set)
Множина парних чисел: {2, 4, 6, 8, 10}
У цьому прикладі цикл for використовується для фільтрації елементів, що задовольняють умові (парність), і додавання їх у нову множину even_set.
7.2 Використання enumerate()
Функція enumerate() повертає ітератор, що генерує кортежі, що складаються з індексу та відповідного елементу з ітерованого об'єкта.
При роботі з множинами, використання enumerate() може бути корисним для отримання індексів елементів під час ітерації. Однак, оскільки множини є неупорядкованими колекціями, порядок елементів при кожній ітерації не гарантується.
Функція enumerate() працює з множинами так само, як і з будь-якими іншими ітерованими об'єктами.
Ітерація з індексами
Використання enumerate() для отримання індексів елементів множини під час ітерації.
my_set = {10, 20, 30, 40, 50}
for index, element in enumerate(my_set):
print(f"Індекс: {index}, Елемент: {element}")
Можливий вивід:
Індекс: 0, Елемент: 40
Індекс: 1, Елемент: 10
Індекс: 2, Елемент: 50
Індекс: 3, Елемент: 20
Індекс: 4, Елемент: 30
Збереження індексів та елементів у списку
Розглянемо приклад, у якому ми зберігаємо індекси та елементи множини у списку для подальшої обробки.
my_set = {"apple", "banana", "cherry"}
indexed_elements = [(index, element) for index, element in enumerate(my_set)]
print(indexed_elements)
Можливий вивід:
[(0, 'banana'), (1, 'cherry'), (2, 'apple')]
Обробка елементів з використанням їх індексів
Розглянемо приклад, у якому ми виконуємо певну операцію над елементами множини, використовуючи їх індекси.
my_set = {1, 2, 3, 4, 5}
squared_elements = {}
for index, element in enumerate(my_set):
squared_elements[index] = element ** 2
print(squared_elements)
Можливий вивід:
{0: 16, 1: 1, 2: 25, 3: 4, 4: 9}
7.3 Використання циклу while
В принципі при роботі з множинами можна використовувати і цикл while. Наприклад, можна по одній діставати задачі (елементи) з множини, поки вона не порожня:
my_set = {"прибрати дім", "помити посуд", "купити хліба"}
while len(my_set) > 0:
task = my_set.pop()
print(task)
Такий підхід буде працювати. Загалом у вас є купа способів працювати з множиною елементів — використовуйте будь-який на ваш вибір.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ