Перечисляйте размер списка в обратном направлении, но сохраняйте список движущимся вперед
Итак, у меня есть следующий код:
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