Skip to main content
 首页 » 编程设计

python之如何使用列表理解在 Python 中实现内置集

2025年05月04日25xxx_UU

如何使用列表推导式实现下面的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]