python 字典设置最小大小

标签 python optimization dictionary python-2.7 hashtable

我正在解析数以亿计的 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/

相关文章:

python - 从文本文件 PYTHON 填充字典

java - 如果 ArrayList<String> 是 Map 中的键,如何从 ArrayList<String> 中检索值?

python - Pickle跨平台__dict__属性错误

c# - 如何胜过这个正则表达式替换?

java - 用 ArrayList 或 TreeSet 优化代码?

c++ - 提高文件读取性能(单个文件、C++、Windows)

text - 崇高文本 3(和 2): newly installed dictionaries do not work

python - BigQuery 加载作业在来自 JSON 的 bool 数据类型字段上失败

python - 我可以将正则表达式 re.sub() 与 numpy 数组或字符串列表一起使用吗?

python - Django:存储/查询类似字典的数据集?