相关疑难解决方法(0)

在字典中使用字符串作为键总是更快吗?

在这个页面上,我看到一些有趣的东西:

请注意,有一个快速路径的dicts(实际上)只处理str键; 这不会影响算法的复杂性,但它会显着影响常数因素:典型程序的完成速度.

那究竟是什么意思呢?

这是否意味着使用字符串,因为键总是更快?

如果是,为什么?

更新:

感谢有关优化的建议!但实际上我对真实性更感兴趣,而不是我们是否应该进行优化.

更新2:

感谢您的回答,我将引用@DaveWebb提供的链接中的内容:

"......

ma_lookup最初设置为lookdict_string函数(在3.0中重命名为lookdict_unicode),它假定字典中的键和要搜索的键都是标准的PyStringObject.然后,它可以进行一些优化,例如减轻各种错误检查,因为字符串到字符串的比较从不引发异常.也不需要进行富对象比较,这意味着我们避免调用PyObject_RichCompareBool,并且总是直接使用_PyString_Eq.

......"

此外,对于实验数字,我认为如果没有int-to-string转换,差异的大小将更大

python

21
推荐指数
2
解决办法
5950
查看次数

标签 统计

python ×1