Python与信息查找

Python与信息查找,python,sqlite,dictionary,Python,Sqlite,Dictionary,存储和引用频繁引用的静态信息的最佳方式是什么?目前,我有一个字典,其中每个键都与列表列表相关联。比如说, dict = {1:[[1,2,3], [1,2,3,4,5], [1,2,3,4,5,6]], 2:[[2,3,4,5], [1,2,3,4,5,6], [1,2,3,4,5,6]]} 感兴趣的对象是一个单独的子列表,如dict[1][1],在本例中该子列表的值为[1,2,3,4,5]。这些字典将有一些冗余的子列表条目,例如,[1,2,3,4,5,6]可能多次显示为超级列

存储和引用频繁引用的静态信息的最佳方式是什么?目前,我有一个字典,其中每个键都与列表列表相关联。比如说,

dict = {1:[[1,2,3], [1,2,3,4,5], [1,2,3,4,5,6]],
        2:[[2,3,4,5], [1,2,3,4,5,6], [1,2,3,4,5,6]]}
感兴趣的对象是一个单独的子列表,如
dict[1][1]
,在本例中该子列表的值为
[1,2,3,4,5]
。这些字典将有一些冗余的子列表条目,例如,
[1,2,3,4,5,6]
可能多次显示为超级列表的第二和第三个元素

我需要将其扩展到第三个层次,或者将列表嵌套一个层次,或者更可能,使键为3元组。我甚至可能想把感兴趣的对象变成一对列表,这样
dict[1][1]
可能有值
([1,2,3,4,5],'a','b','c'])


我的问题是,使用sqlite表比使用字典更有意义吗?或者甚至是一些完全不同的存储格式:例如,是否存在一种数据格式,其中不同的键可以指向相同的值?

使用字典就可以了。SQLlite也可以。您还可以序列化为JSON对象,或者使用像REDIS这样的NOSQL选项。有很多“最好”的选择,所有这些都有优点和缺点


另外,不同的字典键可以指向一个对象的同一个实例,您可以在这里找到一个例子,使用字典就可以了。SQLlite也可以。您还可以序列化为JSON对象,或者使用像REDIS这样的NOSQL选项。有很多“最好”的选择,所有这些都有优点和缺点


另外,不同的字典键可以指向同一个对象的实例。您可以在这里找到一个例子。

如果这些冗余子列表不需要是不同的对象(即,它们将始终保持不变),您可以直接指向它们以减少内存使用。例如:

a = [1, 2, 3]
b = [1,2,3,4,5,6,7]
my_dictionary = {1: [a, b, a, a], 2: [b, b, a]}

就使用数据库而言,取舍不是在内存中保存大量数据;因此,字典应该很好,特别是如果您不需要永久性地使用这些数据(即使您需要,JSON转储也可能很有用)。

如果这些冗余子列表不需要是不同的对象(即,它们将始终保持不变),您可以直接指向它们以减少内存使用。例如:

a = [1, 2, 3]
b = [1,2,3,4,5,6,7]
my_dictionary = {1: [a, b, a, a], 2: [b, b, a]}
就使用数据库而言,取舍不是在内存中保存大量数据;因此,字典应该很好,特别是如果您不需要永久性地使用这些数据(即使您需要,JSON转储也会很有用)