gpt4 book ai didi

python - 转换 (List -> Dictionary -> List) 与 (List -> Set -> List) 之间的功能差异?

转载 作者:行者123 更新时间:2023-12-01 00:51:36 24 4
gpt4 key购买 nike

可以通过将列表转换为字典或集合,然后再转换回列表来获得唯一元素的列表。

>>> original_list = [1,2,3,4,5,6,7,8,9,2,4,6,8]
>>> original_list
[1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 4, 6, 8]
>>>
>>> unique_via_set = list(set(original_list))
>>> unique_via_dict = list(dict.fromkeys(original_list))
>>>
>>> unique_via_set
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> unique_via_dict
[1, 2, 3, 4, 5, 6, 7, 8, 9]

^Python 3.7.3

主要问题:

这两种策略有什么区别?

子问题:

  • 其中一个比另一个更有效率吗?
  • 是否存在针对其中一个或另一个进行更优化的用例?
  • 这两种策略的运行时间有实际差异吗?

注意:我并不是在寻找从列表中获取唯一元素的最佳或最快方法,我只是想比较上面的两种方法

编辑:再说一遍,我不是在寻找如何删除重复项,我只是在寻找上述方法中的实际差异(如果有)

最佳答案

虽然字典和集合的哈希表的实现可能略有不同,但您不会看到字典和集合的键之间有功能差异。唯一的主要区别是字典分配了一堆引用 None 的值,而集合不需要这些值。这可能会降低字典实现的效率,因为这是不必要的开销。

关于python - 转换 (List -> Dictionary -> List) 与 (List -> Set -> List) 之间的功能差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56531800/

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