Всіх вітаю! Сьогодні ми обговоримо, що таке функція enumerate() та як вона використовується на практиці.
Суть функції
Функція enumerate() перераховує елементи у ітерованих типах даних, таких як списки, кортежі, словники. Таким чином, біля елементів з'явиться лічильник. Якщо казати точніше, то біля елементів виникають їхні індекси.
Практичне використання
Приклад зі списком
Тепер перейдемо до практичного застосування цієї функції. Розглянемо кілька прикладів коду та наочно побачимо результати.
Наприклад, застосуємо цю функцію до списку:
music_genres = ["Pop", "Rap", "R&B", "Jazz", "Rock", "Blues"]
enumerate_list = enumerate(music_genres)
print(list(enumerate_list))Отже, ми передали потрібний список нашій функці, і тепер отримуємо такий результат:
[(0, 'Pop'), (1, 'Rap'), (2, 'R&B'), (3, 'Jazz'), (4, 'Rock'), (5, 'Blues')]Як бачимо, у списку 5 елементів. Все працює чудово.
Особливості роботи із enumerate()
На цьому моменті ви, напевно, помітили, що ми не просто виводили змінну enumerate_list, а перетворили її вміст на список. Це важливий крок при роботі із функцією enumerate().
Справа у тому, що за замовчуванням результатом функції enumerate() є одноіменний об’єкт, а не якийсь інший тип даних. Для коректної роботи з результатом даної функції нам варто перетворити вміст змінної enumerate_list у відповідний тип даних. У нашому випадку вміст змінної був перетворений на список, щоб можна було коректно вивести все у консоль.
Наприклад, якщо вивести чисту змінну enumerate_list, то отримаємо такий результат:
<enumerate object at 0x000001742E738100>Виходить, ми отримали назву об’єкта (enumerate object) та адресу у пам’яті (0x000001742E738100), де він зберігається.
Приклад із кортежем
Після розбору особливості enumerate() було б непогано продемонструвати її у коді ще раз. Тепер ми передаємо у функцію кортеж замість списку.
Ось аналогічний приклад тільки з кортежем:
musicians = ("David Bowie", "Billie Eilish", "Michael Jackson", "Outkast", "Eminem", "Kendrick Lamar")
enumerate_tuple = enumerate(musicians)
print(tuple(enumerate_tuple))Отриманий результат:
((0, 'David Bowie'), (1, 'Billie Eilish'), (2, 'Michael Jackson'), (3, 'Outkast'), (4, 'Eminem'), (5, 'Kendrick Lamar'))І ми знову перетворили вміст змінної enumerate_tuple, щоб у результаті отримати саме кортеж.
Висновок
У рамках даної статті ми дізналися про вбудовану функцію enumerate(), як нею користуватися та в чому полягає особливість при роботі з нею.
Дякую за увагу!