【发布时间】:2015-03-21 22:34:07
【问题描述】:
我正在尝试编写一段程序来删除列表中的所有重复项,但我得到了 list index out of range
代码如下:
a_list = [1, 4, 3, 2, 3]
def repeating(any_list):
list_item, comparable = any_list, any_list
for x in any_list:
list_item[x]
comparable[x]
if list_item == comparable:
any_list.remove(x)
print(any_list)
repeating(a_list)
所以我的问题是,怎么了?
【问题讨论】:
-
你认为
x在这种情况下是什么?此外,将列表分配给另一个名称不会创建副本,只是添加对该列表的另一个引用。 -
您的相等性测试将始终为真,因此项目将被删除,从而索引将不再有效。
-
你甚至都不知道python中的for循环...先拿一本教科书。
-
因此,
list_item == comparable始终为真。 -
总体上不太明白这一点。