我是新手编码,这让我发疯。我试图比较列表中的项目以消除重复项,但它不起作用。 结果很好:
L = [1, 2, 3]
for i in L[:]:
for j in L[:]:
print(L.index(i), i, L.index(j), j)
但如果我将列表更改为:
L = [1, 1, 3]
它不会工作。它跳过一些项目并打印其他一些项目两次。任何想法?
答案 0 :(得分:2)
您可以将其更改为set
,以确保项目的唯一性:
In [1]: my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
In [2]: my_new_list = list(set(my_list))
In [3]: my_new_list
Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
但请注意,set
是无序数据结构,这意味着订单可能不同。
在你的情况下,你可以这样检查:
In [4]: my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
In [5]: my_new_list = []
In [6]: for element in my_list:
...: if element not in my_new_list:
...: my_new_list.append(element)
...:
In [7]: my_new_list
Out[7]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
答案 1 :(得分:0)
删除列表中的重复项(注意如果元素的顺序对您不重要,请使用此项):
L = [1, 1, 3]
print(list(set(L)))
输出:
[1, 3]