我有大量的词典可供使用。超过 1000 万个单词被散列。它太慢了,有时它会耗尽内存。
有没有更好的方法来处理这些庞大的数据结构?
最佳答案
是的。它被称为数据库。由于字典适合你(除了内存问题),我认为 sqlite 数据库适合你。您可以使用 sqlite3非常容易,并且有很好的文档记录。
当然,只有当您可以将值表示为类似 json 或愿意信任来自本地文件的 pickled 数据时,这才是一个好的解决方案。也许您应该发布有关字典值中的内容的详细信息。 (我假设键是单词,如果不是请纠正我)
您可能还想看看不生成整个字典,只按 block 处理它。这在您的特定用例中可能不实用(不幸的是,它通常不是字典用于的那种事情)但如果您能想到一种方法,重新设计您的算法以允许它可能是值得的。
关于python - 如何使用 Python 处理内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223130/