Перечисляйте размер списка в обратном направлении, но сохраняйте список движущимся вперед

Итак, у меня есть следующий код:

amount_of_episodes = len(episodes_from_user_show)
for x in episodes_from_user_show:
    print("[{0}] Episode {1}: {2}".format(amount_of_episodes, x.episode_number,
                                          x.name))  # Prints the available list of episodes.
    amount_of_episodes -= 1

Что он сделал, так это то, что он принимает длину списка, выполняет итерацию в обратном направлении, пока не достигнет 0, и также печатаются имя и номер эпизода из используемого мной API-интерфейса.

Так что я хотел бы знать, есть ли более читаемый способ сделать это. Что-то вроде использования перечисления, которое может отображать размер списка в обратном направлении, а содержимое списка - в обратном направлении (если это имеет смысл)?

1 ответ

Простой способ сделать это - просто напечатать len(values) - index:

shows = [{'id': 1, 'name': 'show_1'},{'id': 2, 'name': 'show_2'}]
for idx, show in enumerate(shows):
    print("[{}] Episode {}: {}".format(len(shows) - idx, show['id'], show['name']))

выход:

[2] Episode 1: show_1
[1] Episode 2: show_2
Другие вопросы по тегам