Итерация по коллекции

Раньше в 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)

Делай правильно и не делай неправильно.


Попробуйте бесплатные уроки по Python

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

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.