gpt4 book ai didi

python - 在 Python 中统一列表的最快方法

转载 作者:IT老高 更新时间:2023-10-28 20:36:48 25 4
gpt4 key购买 nike

在不保留顺序的情况下在 Python 中统一列表的最快方法?我在 Internet 上看到了许多复杂的解决方案——它们能比简单的更快吗:

list(set([a,b,c,a]))

最佳答案

去一个集合只适用于所有项目都是 hashable 的列表——例如在您的示例中,如果 c = [] ,您提供的代码将引发异常。对于不可散列但可比较的项目,对列表进行排序,然后使用 itertools.groupby从中提取唯一项目是最佳可用解决方案(O(N log N))。如果项目既不是所有可散列的,也不是所有可比的,您唯一的“最后一搏”解决方案是 O(N squared) .

您可以编写一个函数来“唯一化”任何使用最佳可用方法的列表,方法是按顺序尝试每种方法,使用 try/except围绕第一个和第二个(以及 return 子句末尾的结果的 try,或者优雅地在 else 语句的 try 子句中;-)。

关于python - 在 Python 中统一列表的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2527405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com