【发布时间】:2015-08-29 14:21:22
【问题描述】:
我有一个(键,值)映射,其中对于每个键,我都有一个较大的异构列表列表(大约 250 个项目)。每个列表都是我可能想要迭代的字符串和数字的混合体。键是一个字符串。如果我想持久存储这样一个包含数千个这样的(键、值)对的列表以进行有效检索,那么最好的选择是什么?如果我使用 sqlite,那么我需要为每个键创建一个表,然后将列表映射到数据库中的各个记录。如果目标是快速检索特定键的列表列表,是否有更好和更有效的选择? 这是一个简短的例子。说动物是列表列表的键映射。示例数据如下所示:
animals = {
"Lion" : [["Siberian", 203, "Tanzania", 123.56], ["Russian", 321, "Timbktu", 23423.2]],
"Tiger: [["White", 121, "Australia", 1211.1], ["Indian", 111, "India", 1241.5]]
}
因此,我希望能够保留此数据结构,并能够快速按动物名称(始终唯一)进行索引,并获取我关心的特定动物的列表列表。如果每个动物信息中的列表都是固定长度和固定字段的,我可以利用该功能以某种方式提高效率吗?
【问题讨论】:
-
谢谢,刚看了泡菜。我可以有一个 (key1, [[], []....., []]), (key2, [[], [] ..., []] 等等的一个泡菜然后就可以了有效地检索键索引的任意记录?
-
您想在 python 之外轻松访问原始数据吗?如果它存储在文件中,它们应该是人类可读的还是你不在乎的。
-
我希望能够主要从 Python 访问它。我现在假设这就是我所关心的。我还在更新我的问题,以提供一个简短的示例来说明我想要什么。
-
CRUD operations 中哪一个对您最重要?
-
阅读和更新。初始创建可能需要一些时间,但增量更新需要快速,读取需要非常快。
标签: python sqlite persistent-storage