在字符串中使用非字母数字字符对字典是否有任何性能影响

时间:2012-09-06 16:02:38

标签: python dictionary

我的所有密钥都是字符串,但我正在考虑使用非+:_等非字母数字字符作为密钥的一部分。

使用它们有任何影响(或任何其他)影响吗?

1 个答案:

答案 0 :(得分:4)

不,python dicts在密钥字符串中使用的字符不会有任何区别。

优化处理字符串而不是任意键对象,但如果您只使用 字符串值键,则不会看到使用键之间的任何区别并使用非字母数字字符。

仅字符串代码路径是对python dicts最常见用例的优化:名称空间和函数定义。这是dict的默认模式;只要你在其中存储一个非字符串键,就会切换查找方法,并且你手上会有一个微不足道的慢速字典。这在大多数Python应用程序中都无关紧要。