如何在Python中反向迭代列表?
请参见:如何获得列表的反向副本(避免在.reverse后链接方法时使用单独的语句)?
如何在Python中反向迭代列表?
请参见:如何获得列表的反向副本(避免在.reverse后链接方法时使用单独的语句)?
当前回答
The cute Solution
class List_reverse():
def reverse_list(self):
list = [1, 2, 3, 4, 5, 6]
list1 = []
for i in range(1, len(list)+1):
list1.append(list[-i])
print(list1)
if __name__ == "__main__":
obj = List_reverse()
obj.reverse_list()
enter code here
其他回答
你总是可以像对待堆栈一样对待列表,只是从列表的后端取出堆栈顶部的元素。这样你就可以利用堆栈的先进后出特性。当然你消耗的是第一个数组。我确实喜欢这种方法,因为它非常直观,因为您可以看到一个列表是从后端消耗的,而另一个是从前端构建的。
>>> l = [1,2,3,4,5,6]; nl=[]
>>> while l:
nl.append(l.pop())
>>> print nl
[6, 5, 4, 3, 2, 1]
array=[0,10,20,40]
for e in reversed(array):
print e
将你的需求转换成Python的最直接的方法是这样的for语句:
for i in xrange(len(array) - 1, -1, -1):
print i, array[i]
这是相当神秘的,但可能有用。
问题不是如何反向返回一个列表,而是如何使用示例列表名数组反向返回一个列表。
反转名为“array”的列表使用array.reverse()。
通过使用array[:] = array[::-1]将列表定义为对其本身的切片修改,还可以使用上面描述的非常有用的slice方法来反转列表。
使用列表推导式:
[array[n] for n in range(len(array)-1, -1, -1)]