Використовуючи функцію 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
Перегляньте наступну статтю, щоб дізнатися більше про функцію форматування, яка використовується для заповнення чисел нулями.
- Пов’язані статті:Виведення заповнених нулів, шістнадцяткових чисел тощо за допомогою функції format() Python
Вкажіть приріст (крок)
У функції enumerate() немає аргументу для визначення кроку інкременту, але його можна досягти, виконавши наступне
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie