如何在Python中反向迭代列表?


请参见:如何获得列表的反向副本(避免在.reverse后链接方法时使用单独的语句)?


当前回答

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 

其他回答

问题不是如何反向返回一个列表,而是如何使用示例列表名数组反向返回一个列表。

反转名为“array”的列表使用array.reverse()。

通过使用array[:] = array[::-1]将列表定义为对其本身的切片修改,还可以使用上面描述的非常有用的slice方法来反转列表。

>>> L = [1, 2, 3, 4]
>>> L = [L[-i] for i in range(1, len(L) + 1)]
>>> L
[4, 3, 2, 1]

我在一次面试的python代码测试中遇到了这个问题。 以下是我的答案。 注意它适用于任何值任何长度

def get_reverse(list_check, count_num):
    final_list =[]
    for index in range(list_length):
        value = list_check[count_num]
        final_list.append(value)
        count_num = count_num -1

    return final_list

new_list = ['A', 'GOAT', 'C', 'D', 'Mac']

list_length = len(new_list)
x = list_length -1

print(get_reverse(new_list, x))

带颠倒和列表的:

>>> list1 = [1,2,3]
>>> reversed_list = list(reversed(list1))
>>> reversed_list
>>> [3, 2, 1]

使用列表推导式:

[array[n] for n in range(len(array)-1, -1, -1)]