如何在Python中反向迭代列表?
请参见:如何获得列表的反向副本(避免在.reverse后链接方法时使用单独的语句)?
如何在Python中反向迭代列表?
请参见:如何获得列表的反向副本(避免在.reverse后链接方法时使用单独的语句)?
当前回答
一个干净简单的类对象来解决您的问题。
class lister():
def reverse(self):
return [self[len(self)-e]for e,x in enumerate(self,start=1)]
print(lister.reverse([0, 10, 20, 40]))
其他回答
将你的需求转换成Python的最直接的方法是这样的for语句:
for i in xrange(len(array) - 1, -1, -1):
print i, array[i]
这是相当神秘的,但可能有用。
要获得一个新的反向列表,应用reversed函数并将项目收集到一个列表中:
>>> xs = [0, 10, 20, 40]
>>> list(reversed(xs))
[40, 20, 10, 0]
在列表中向后迭代:
>>> xs = [0, 10, 20, 40]
>>> for x in reversed(xs):
... print(x)
40
20
10
0
list_data = [1,2,3,4,5]
l = len(list_data)
i=l+1
rev_data = []
while l>0:
j=i-l
l-=1
rev_data.append(list_data[-j])
print "After Rev:- %s" %rev_data
使用列表。Reverse将列表就地反转:
>>> xs = [0, 10, 20, 40]
>>> xs.reverse()
>>> xs
[40, 20, 10, 0]
使用切片以相反的顺序创建一个新列表:
>>> xs[::-1]
[40, 20, 10, 0]
要反转相同的列表,请使用:
array.reverse()
将反向列表赋值到其他列表使用:
newArray = array[::-1]