Python:制作大型词典是计算密集型的

时间:2015-08-03 17:47:25

标签: python dictionary

我使用的是超级计算机,因此内存不是问题。实际上,我正在尝试利用大容量内存。

我试图从文件中读取177百万行,将每行解析为两个短字符串,并将这些字符串存储为字典键元组。对于前1000万行左右,python每3秒读取超过100万次读取。这种速度迅速下降,据我所知,持续时间越来越长。所以我的过程比预期的要长很多倍。

这是因为Python会不断调整哈希表的大小吗? 如果是这样,有没有办法声明字典大小为1.8亿?

targets={}
for line in open(blastInput):
    pieces = line.split()
    target = (pieces[0], pieces[1])
    #steps to calculate count omitted
    if not targets.has_key(target):
        targets[target] = 0
    targets[target] += count

0 个答案:

没有答案