How to delete duplicate values in a list?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do you remove duplicates from a list in Python whilst preserving order?
让我们考虑一下清单:
1 | x = ['a', 'b', 'c', 'c', 'a', 'd', 'z', 'z'] |
我想删除这些重复值列表-X,结果如下:
1 | y = ['a', 'b', 'c', 'd', 'z'] |
如果订购不重要,请使用一套:
1 2 | >>> list(set(['a', 'b', 'c', 'c', 'a', 'd', 'p', 'p'])) ['a', 'p', 'c', 'b', 'd'] |
如果订购确实重要,请使用订购信息:
1 2 3 | >>> from collections import OrderedDict >>> OrderedDict.fromkeys(['a', 'b', 'c', 'c', 'a', 'd', 'p', 'p']).keys() ['a', 'b', 'c', 'd', 'p'] |
由于没有关于维护秩序的说明,这种方法将起作用:
1 2 3 | x = ['a', 'b', 'c', 'c', 'a', 'd', 'z', 'z'] list(set(x)) |
会给你
1 | ['a', 'c', 'b', 'd', 'z'] |
通过将列表更改为
你也可以用
1 | y=[ x[i] for i in range(len(x)) if not x[i] in x[:i]] |
我认为这是最简单的解决办法。