gpt4 book ai didi

python - 哪个更快?设置比较还是计数器比较?为什么

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

我有两个字符串:

a = "hello world"
b = "world hello"

哪个跑得更快?

set(a)==set(b)

from collections import Counter

Counter(a)==Counter(b)
为什么?有什么运行速度更快的吗?

最佳答案

set 比较会运行得更快。造成这种情况的主要原因有两个:

1) 与 set() 相比,Counter() 中包含更多信息

2) 与 set() 相比,构建 Counter() 对象需要更多操作。

粗略地说,Counter()是一个字典,由键值对组成。在 Counter 中,值具有计算键出现次数的特殊含义。相比之下,set() 仅包含有关键的信息。

<小时/>

编辑

在解决应该使用哪一个的问题时,这取决于您想要实现的目标,因为这两个表达式并不等效:

from collections import Counter

a = "hello world"
b = "world helo"

set(a) == set(b)
# True

Counter(a) == Counter(b)
# False

因此很难在这个方向上给出更多提示。

关于python - 哪个更快?设置比较还是计数器比较?为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56763642/

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