【发布时间】:2015-07-27 21:50:00
【问题描述】:
我有大量相同的字典(结构相同:相同的键,不同的值),这会导致两个不同的内存问题:
字典呈指数级扩展,因此每个字典最多可以使用两倍的内存。
字典需要记录它们的标签,因此每个字典都在存储该字典的键,这会占用大量内存。
有什么好的方法可以共享标签(所以每个标签都不存储在对象中),并压缩内存?
【问题讨论】:
-
让我们从一个显而易见的问题开始:为什么会有“大量相同的字典”?如果它们相同,为什么需要多个?
-
对不起,当我说相同的字典时,我指的是结构,而不是内容。它们都有相同的键,但值不同。我会更新帖子。
-
在这种情况下,只构建一个字典,其中每个项目都是一个列表。
-
同样,为什么你需要几个不同的字典而不是每个键指向所有值列表的字典?言归正传,我怀疑是XY issue,我想知道 X 是什么让你想到了这个 Y。
-
@CasimiretHippolyte:这不太理想。从列表中间删除一个元素(这种情况经常发生)会导致问题。
标签: python-3.x memory data-structures