Итерация по коллекции
Раньше в C++ итерация по коллекции проходила так:
for(int i = 0; i < books_amount; i++) {
cout << books[i];
}
Этот же способ используется в других языках. Поэтому на Питоне хочется написать так же:
for i in range(len(books)):
print(books[i])
Это неудобная дичь, древность и вообще. Вот как надо:
for book in books:
print(book)
Часто вместе с элементом нужен его номер. Памятуя, что можно итерировать по коллекции, хочется сделать как-то так:
i = 0
for book in books:
print(i, book)
i += 1
Это тоже неудобная дичь, древность и вообще. Для этого есть встроенная функция enumerate
:
for book_number, book in enumerate(books):
print(book_number, book)
Делай правильно и не делай неправильно.