如何使用列表推导式实现下面的unique 函数?我不想使用内置 set 因为 set 中元素的顺序是任意的
def unique(list):
u = []
for e in list:
if e not in u:
u.append(e)
return u
请您参考如下方法:
你不能,不能这样,因为你需要在每次迭代中跟踪看到的元素,这不是你可以用该语法做的事情。使用 order 统一列表的 pythonic 方法是使用 OrderedDict(或仅使用 python3.7+ 的字典)。
>>> from collections import OrderedDict
>>> [k for k in OrderedDict.fromkeys([1, 2, 1, 3])]
[1, 2, 3]
您实际上不需要列表理解。
>>> list(OrderedDict.fromkeys([1, 2, 1, 3]))
[1, 2, 3]
