python - Python 中列表的高效持久存储

标签 python sqlite persistent-storage

我有一个(键,值)映射,其中每个键都有一个相当大的异构列表列表(〜最多约 250 个项目)。每个列表都是我可能想要迭代的字符串和数字的混合。 key 是一个字符串。如果我想持久存储这样一个包含数千个此类(键,值)对的列表以进行有效检索,最好的选择是什么?如果我使用 sqlite,那么我需要为每个键创建一个表,然后将列表映射到数据库中的各个记录。如果目标是快速检索特定键的列表列表,是否有更好、更有效的选择? 这是一个简短的例子。假设动物是列表列表的键映射。示例数据如下所示:

 animals = { 
    "Lion" : [["Siberian", 203, "Tanzania", 123.56], ["Russian", 321, "Timbktu", 23423.2]],
    "Tiger: [["White", 121, "Australia", 1211.1], ["Indian", 111, "India", 1241.5]]
  }

因此,我希望能够保留此数据结构,并能够快速按动物名称(始终唯一)进行索引,并获取我关心的特定动物的列表列表。如果每个动物信息中的列表具有固定长度和固定字段,我可以以某种方式利用该功能来提高效率吗?

最佳答案

正如 Blender 在评论中所述,pickle 是一个合理的选择。但请确保不要使用原始版本,而是使用基于 C 的 cPickle 。或者,考虑dill .

关于python - Python 中列表的高效持久存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30822289/

相关文章:

python - ": No such file or directory"

Python启动程序: Moving files

ios - 用于在 iPhone 设备上显示持久存储内容的 GUI

kubernetes - Kubernetes local/csi PV 内容是否同步到新节点?

python - 在 Python 中使用滚动条显示大图像

python - 如何使用 matplotlib 创建自定义 python 图表

html - 如何查找 HTML5 Web SQL 数据库中保存的数据大小?

arrays - 从 BASH 数组创建 SQLite3 表

python - web2py 中跨 session 的全局对象访问?

persistent-storage - 奥尔良 - 批量数据导入