我正在解析数以亿计的 JSON 记录,并将每个记录的相关组件存储在 dict
中。问题是,由于我正在处理的记录数量,python 被迫多次增加 dict
的底层哈希表的大小。这导致必须重新散列大量数据。大量的重新散列本身似乎要花费很多时间。因此,我想知道是否有一种方法可以在 dict
的底层哈希表上设置最小大小,从而最大限度地减少调整大小操作的次数。
我已阅读 this关于优化 python 的 dict
,来自 this question 上的回答, 但找不到如何更改 dict
的哈希表的初始大小。如果有人能帮我解决这个问题,我将不胜感激。
谢谢
最佳答案
如果你这样做:
a = dict.fromkeys(range(n))
它将强制字典大小容纳 n 个项目。之后很快,但需要 3 秒。
关于python 字典设置最小大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11355124/