0

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

使用它们是否有任何性能(或任何其他)影响?

4

1 回答 1

4

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

它们经过优化以处理字符串而不是任意键对象,但如果您对键使用字符串值,您将不会看到使用不带和不带非字母数字字符的键之间有任何区别。

纯字符串代码路径是对 python dicts 最常见用例的优化:命名空间和函数定义。这是 dict 的默认模式;一旦你在其中存储了一个非字符串键,查找方法就会切换,你手上就会有一个很小的速度较慢的字典。不过,这在大多数 Python 应用程序中并不重要。

于 2012-09-06T16:04:02.537 回答