字典是否有密钥长度限制?

时间:2014-03-17 20:40:49

标签: python dictionary

我想知道Python是否对字典密钥的长度有限制。

为了澄清,我不是在谈论密钥的数量,而是在谈论每个密钥的长度。我将根据动态值(验证后)构建我的词典,但我不确定在这种情况下我是否应该考虑长度。

3 个答案:

答案 0 :(得分:15)

关于字典键没有这样的限制。由于python在数值类型上也具有任意精度,因此您将遇到的唯一限制(字符串或其他限制)是可用内存的限制。你可以看到另一篇文章here,讨论python 2中的最大字符串长度。

答案 1 :(得分:15)

以下是一些示例代码:

from string import ascii_letters
from random import choice

def make_str(length):
    return "".join(choice(ascii_letters) for i in range(length))

test_dict = {make_str(10000000): i for i in range(5)}

结论:Python非常乐意使用一个1000万字符的字符串作为字典键。

答案 2 :(得分:1)

我知道没有限制,但考虑到密钥越长,创建/访问密钥的时间就越多