如何在Python中反向迭代列表?
请参见:如何获得列表的反向副本(避免在.reverse后链接方法时使用单独的语句)?
如何在Python中反向迭代列表?
请参见:如何获得列表的反向副本(避免在.reverse后链接方法时使用单独的语句)?
当前回答
使用一些逻辑
用一些老派的逻辑来练习面试。
从前到后交换数字。使用两个指针索引[0]和索引[last]
def reverse(array):
n = array
first = 0
last = len(array) - 1
while first < last:
holder = n[first]
n[first] = n[last]
n[last] = holder
first += 1
last -= 1
return n
input -> [-1 ,1, 2, 3, 4, 5, 6]
output -> [6, 5, 4, 3, 2, 1, -1]
其他回答
use
print(list(reversed(list_name)))
你也可以使用数组索引的逐位补码反向遍历数组:
>>> array = [0, 10, 20, 40]
>>> [array[~i] for i, _ in enumerate(array)]
[40, 20, 10, 0]
不管你做什么,不要这样做;)
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
要获得一个新的反向列表,应用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
def reverse(text):
output = []
for i in range(len(text)-1, -1, -1):
output.append(text[i])
return output