是
list(set(some_list))
从列表中删除重复项的好方法? (如果重要的话,Python 3.3)
(编辑以解决一些评论......之前可能太简洁了)。
具体来说,
最佳答案
您展示的方法可能是最短且最容易理解的;这将使大多数定义成为 Pythonic。
如果需要保留列表的顺序,可以使用 collections.OrderedDict
而不是 set
:
list(collections.OrderedDict((k, None) for k in some_list).keys())
如果元素不可散列但可以排序,则可以使用
itertools.groupby
删除重复项:list(k for k,g in itertools.groupby(sorted(some_list)))