IT源码网

python Python 中字典的最大大小

lvdongjie 2023年05月15日 程序员 16 0

我正在使用字典来保存大量对象,并且每个对象都有一个字符串名称。具体来说,这是我的代码:

from itertools import product 
for (i,j,k) in product(range(N),range(M),range(K)): 
    var_name='x_'+'_'+str(i)+str(j)+'_'+str(k) 
    var_dict[var_name] = f(var_name,other_params) 
print len(var_dict) 

f(...) 返回一个对象。在我的代码中,N=363、M=500 和 K=2。所以我预计字典中有 363000 个条目。但是当我检查 var_dict 的长度时,它是 330860!

(Pdb) len(var_dict) 
330860 

这是我的问题:

  1. 有什么解释吗?例如。 python内置哈希表可以寻址的item数量有没有限制?

  2. 我该怎么做才能解决这个问题?

请您参考如下方法:

问题出在这里:

str(i)+str(j) 

这不会产生唯一标识符。例如i=1j=11时设置的值会被i=11时设置的值覆盖j=1(还有更多实例)。

您可以通过在两个数字之间插入一些分隔符来解决此问题(例如在 jk 之间插入下划线)。


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!