我是如何使用以下代码进行反向迭代的?我应该使用reduce功能吗?
示例:
for i in range(4):
print i ////0 1 2 3
如何以相反的顺序打印相同的内容
3 2 1 0
a=[5,2,1,4,3]
我还想使用索引反向打印上面的数组而不是a[::-1]
即,我想先打印
a[4] //get index starting from last how to achieve this
a[3]
a[2]
a[1]
a[0]
答案 0 :(得分:5)
使用reversed功能:
for i in reversed(range(4)):
print i
打印:
3
2
1
0
和
a=[5,2,1,4,3]
for i in reversed(a):
print i
打印
3
4
1
2
5
答案 1 :(得分:1)
一种方法涉及在迭代之前反转列表。虽然这种技术浪费了计算机周期,内存和代码行:
rseqn = list(seqn)
rseqn.reverse()
for value in rseqn:
print value
答案 2 :(得分:0)
您可以使用列表的反向功能。
>>> a = [1,2,3,4]
>>> a.reverse()
>>> a
[4, 3, 2, 1]
使用eumiro的答案进行一次反向(即如果你只需要一次)。 否则使用我的方法,因为转换是在列表本身完成的。
答案 3 :(得分:0)
这有效:
range(4, -1, -1)
// [4, 3, 2, 1, 0]
答案 4 :(得分:0)
>>> for i in reversed(range(4)):
... print(i)
...
3
2
1
0
答案 5 :(得分:0)
len()
返回列表的长度。因此,您可以使用len(a)-1
获取列表a
的最后一个索引。