【发布时间】:2019-01-15 01:09:18
【问题描述】:
我正在尝试使用追加和删除方法来反转列表。但是我执行此解决方案的方法存在问题。也许有人给我一个更好的解释
list_in_order = [1,2,3,4,5,6]
def reverse(list):
r=[]
for i in list:
print (i)
r.append(i)
list_in_order.remove(i)
return r
print(reverse(list_in_order))
【问题讨论】:
-
不要从原始列表中删除元素,只需构建一个新列表。您正在从列表中删除元素,同时对其进行迭代。这永远不会结束。
-
另外,不要将变量命名为
list。 -
你违反了一个基本的编程规则——不要修改你正在迭代的数组(列表)。此外,您正在从头到尾遍历列表并反转,您需要走另一条路。