Python, Використання функції enumerate(): отримання елементів та індексів списку

Бізнес

Використовуючи функцію enumerate() у Python, ви можете отримати номер індексу (лічильник, порядок), а також елементи ітераційного об’єкта, наприклад список або кортеж, у циклі for.

У цій статті пояснюються основи функції enumerate().

  • Функція для отримання індексу в циклі for:enumerate()
    • Звичайний цикл for
    • Цикл For за допомогою функції enumerate().
  • Почніть індекс функції enumerate() з 1 (ненульове значення)
  • Вкажіть приріст (крок)

Функцію enumerate() можна використовувати, щоб отримати індекс у циклі for.

Звичайний цикл for

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

Цикл For за допомогою функції enumerate().

Вкажіть ітерований об’єкт, наприклад список, як аргумент функції enumerate().

Ви можете отримати номер індексу та елемент у такому порядку.

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

Почніть індекс функції enumerate() з 1 (ненульове значення)

Як показано у прикладі вище, за замовчуванням індекс функції enumerate() починається з 0.

Якщо ви хочете почати з числа, відмінного від 0, вкажіть довільне початкове число як другий аргумент функції enumerate().

Щоб почати з нуля, виконайте наступне.

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

Звичайно, можна почати з інших чисел.

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

Корисно, коли ви хочете створити послідовно нумерований рядок; розумніше вказати початкове число як другий аргумент функції enumerate(), ніж використовувати ‘i+1’ для початку з 1.

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

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

Вкажіть приріст (крок)

У функції enumerate() немає аргументу для визначення кроку інкременту, але його можна досягти, виконавши наступне

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie