Если вам нужен индекс, а ваш список небольшой, самый читаемый способ - сделать reversed(list(enumerate(your_list)))
, как сказано в принятом ответе. Но это создает копию вашего списка, поэтому, если ваш список занимает большую часть вашей памяти, вам придется вычесть индекс, возвращаемый enumerate(reversed())
из len()-1
.
Если вам нужно сделать это один раз:
a = ['b', 'd', 'c', 'a']
for index, value in enumerate(reversed(a)):
index = len(a)-1 - index
do_something(index, value)
или если вам нужно сделать это несколько раз, вы должны использовать генератор:
def enumerate_reversed(lyst):
for index, value in enumerate(reversed(lyst)):
index = len(lyst)-1 - index
yield index, value
for index, value in enumerate_reversed(a):
do_something(index, value)