How to remove duplicates in a python list
本问题已经有最佳答案,请猛点这里访问。
我正在编写一个程序,可以删除列表中的重复项,但我无法找出重复项在哪里?
1 2 3 4 5 6 7 | #list lis=[1,2,45,223,1,23,546,488,223,5688] print(lis,"Im going to remove the duplicate numbers.") #check for duplicates #removes duplicates #print list |
维护秩序的一种方法是使用
此列表理解将保留顺序,并删除初始项之后出现的所有重复项:
1 2 3 | >>> lis=[1,2,45,223,1,23,546,488,223,5688] >>> [el for i, el in enumerate(lis) if el not in lis[:i]] [1, 2, 45, 223, 23, 546, 488, 5688] |
这将删除前面的所有重复项,并按顺序保留其余项:
1 2 | >>> [el for i, el in enumerate(lis) if el not in lis[i+1:]] [2, 45, 1, 23, 546, 488, 223, 5688] |
您可以使用set()函数来实现这一点。
1 2 | a = [1,2,3,4,5,5,5,5,5,5] print list(set(a)) # [1, 2, 3, 4, 5] |
请记住,这将扰乱您列表的顺序。
您可以使用python的set()功能。并以与set()实现相同的方式将其传输回列表。
1 | set(lis) |