1. Learn
  2. /
  3. Курси
  4. /
  5. Ефективне написання коду Python

Connected

вправа

Практика з вбудованими: enumerate()

У цій вправі ви попрактикуєтеся у використанні вбудованої функції Python enumerate(). Ця функція зручна, коли потрібно отримати список з індексами. Припустімо, у вас є список людей, які прийшли на вечірку, яку ви проводите. Список впорядковано за часом прибуття (Джеррі прийшов першим, потім Креймер тощо):

names = ['Jerry', 'Kramer', 'Elaine', 'George', 'Newman']

Якщо ви хочете додати індекс, що відповідає порядку прибуття людини, ви можете використати такий цикл for:

indexed_names = []
for i in range(len(names)):
    index_name = (i, names[i])
    indexed_names.append(index_name)

[(0,'Jerry'),(1,'Kramer'),(2,'Elaine'),(3,'George'),(4,'Newman')]

Однак це не найефективніше рішення. Розгляньмо, як використати enumerate(), щоб зробити це ефективніше.

Інструкції

100 XP
  • Замість for i in range(len(names)) змініть цикл for так, щоб використовувати i як індекс і name як змінну-ітератор та застосувати enumerate().
  • Перепишіть попередній цикл for, використавши enumerate() і list comprehension, щоб створити новий список indexed_names_comp.
  • Створіть ще один список (indexed_names_unpack), використавши зірочку (*) для розпакування об'єкта enumerate, створеного викликом enumerate() для names. Цього разу почніть індекс у enumerate() з одиниці, а не з нуля.