如何在Python中反向遍历列表? 这样我就可以从collection[len(collection)-1]
开始,以collection[0]
结束。
我还想能够访问循环索引。
while
循环:i = len(collection)-1
while i>=0:
value = collection[i]
index = i
i-=1
>>> a = ["foo", "bar", "baz"]
>>> for i in range(-1, -1*(len(a)+1), -1):
... print i, a[i]
...
-1 baz
-2 bar
-3 foo
ie., for i in range(3,-1,-1), where 3 is length of list minus 1,
second -1 means list starts from last element and
third -1 signifies it will traverse in reverse order.
print( numlst[ i ] )
输出结果为4、3、2、1。
我很困惑为什么显而易见的选择还没有出现:
如果reversed()
无法工作,因为你有一个生成器(例如使用enumerate()
),只需使用sorted()
:
>>> l = list( 'abcdef' )
>>> sorted( enumerate(l), reverse=True )
[(5, 'f'), (4, 'e'), (3, 'd'), (2, 'c'), (1, 'b'), (0, 'a')]
input_list = ['foo','bar','baz']
for i in range(-1,-len(input_list)-1,-1)
print(input_list[i])
collection = ['a','b','c']
[item for item in reversed( collection ) ]
n = int(input())
arr = list(map(int, input().split()))
for i in reversed(range(0, n)):
print("%d %d" %(i, arr[i]))
你可以使用生成器:
li = [1,2,3,4,5,6]
len_li = len(li)
gen = (len_li-1-i for i in range(len_li))
最后:
for i in gen:
print(li[i])
希望这能帮到你。