从最后一个元素开始获取数组的索引
问题描述:
如何使用下面的代码获得反向迭代。我应该使用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]
答
使用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
答
您可以使用反转功能的名单。
>>> a = [1,2,3,4]
>>> a.reverse()
>>> a
[4, 3, 2, 1]
使用eumiro的答案一次反向(即如果你只需要它一次)。 否则使用我的方法,因为转换是在列表本身完成的。
答
一种方法涉及在迭代之前颠倒列表。虽然这种技术废物计算机周期,存储器,和代码行:
rseqn = list(seqn)
rseqn.reverse()
for value in rseqn:
print value
+0
或只是'rseqn = seqn [:: - 1]' – 2012-02-20 10:50:45
答
这工作:
range(4, -1, -1)
// [4, 3, 2, 1, 0]
答
>>> for i in reversed(range(4)):
... print(i)
...
3
2
1
0
答
len()
返回一个列表的长度。因此,您可以使用len(a)-1
获取列表a
的最后一个索引。
范围(4,0,-1)'创建一个反向范围。不过,不明白你的尴尬的第二部分。 – kirilloid 2012-02-20 09:57:47
@kirilloid'范围(4,0,-1)'不是'反转(范围(4))' – eumiro 2012-02-20 09:59:35
是的,它应该是'range(3,-1,-1)',而用'reversed'更好的 – kirilloid 2012-02-20 10:04:24