Python:列表中显示的唯一列表项

时间:2016-09-28 18:50:05

标签: python list set unique

在Python中,我们可以使用set(list)获取列表中的唯一项。但是,这样做会破坏值在原始列表中出现的顺序。是否有一种优雅的方式可以按照列表中显示的顺序获取唯一项目。

2 个答案:

答案 0 :(得分:5)

这是一种优雅的方式:

from collections import OrderedDict
list(OrderedDict.fromkeys(list))

如果列表项都是可清除的,则它可以工作(如果将其转换为集合,则会知道所有列表项都是可清除的,不会触发异常)。

如果有任何物品不可清洗,那么有一种替代方案会以较差的性能为代价而更加强大:我将您推荐给Patrick Haugh的answer

答案 1 :(得分:1)

l = []
for item in list_:
    if item not in l:
        l.append(item)

这对于真正大而多样的list_来说变得缓慢。在这些情况下,还值得跟踪一组看到的值。