你可以做
if item not in mylist:
mylist.append(item)
但是你应该真的使用一套,像这样:
myset = set()
myset.add(item)
编辑:如果顺序很重要,但您的列表非常大,您应该同时使用列表和集合,如下所示:
mylist = []
myset = set()
for item in ...:
if item not in myset:
mylist.append(item)
myset.add(item)
这样,您可以快速查找元素存在,但是您可以继续订购。如果您使用天真的解决方案,您将获得O(n)性能的查找,如果您的列表很大,那可能是坏的
或者,@larsman指出,您可以使用OrderedDict具有相同的效果:
from collections import OrderedDict
mydict = OrderedDict()
for item in ...:
mydict[item] = True