具有相同值的多个字典键 - 值是否重复?

时间:2016-09-13 15:58:03

标签: python list dictionary memory lookup

很抱歉,如果这是一个复制品,我无法在任何地方找到它。

如果您开始使用两个键指向相同列表的字典,例如:

In [1]: value = [1,2,3,4]

In [2]: example_dict = {'key1':value, 'key2':value}

In [3]: example_dict
Out[3]: {'key1': [1, 2, 3, 4], 'key2': [1, 2, 3, 4]}

python如何将其存储在内存中?值只是指向原始列表的指针吗?或者每个值都是一个新的实例化列表。我很好奇,因为我正在构建一个非常大的查找表,其中列表中的每个元素都是字典中的一个键,指向它所在的列表。例如(使用与上面相同的例子),我的字典的条目看起来像这样:

In [4]: value = [1,2,3,4]

In [5]: example_dict = {1:value, 2:value, 3:value, 4:value}

In [6]: example_dict
Out[6]: {1: [1, 2, 3, 4], 2: [1, 2, 3, 4], 3: [1, 2, 3, 4], 4: [1, 2, 3, 4]}

由于这将是一个包含超过10 ^ 6个条目的表,其中每个值将是50个元素的列表,我显然希望最小化列表重复(因此最小化使用的内存量)。

0 个答案:

没有答案