大字典RAM效率,重新分配与更新()

时间:2018-01-12 10:15:08

标签: python python-3.x dictionary

我有一个很大的dicts字典,它有效地具有以下格式:

my_dict = { 
  'A' : { 
    'B' : { 
      'C' : {
        'key': 'value' 
}}}}

A,B,C的嵌套可能最多20个深度,最深层次的key:value对可以很容易地为3000个条目,所以我希望这样可以使用合理数量的RAM。

最初使用时,C级的所有值实际上都是一个名为“value”的字符串,稍后由for循环更新,并替换为其他地方确定的数字。

目前我只需重新分配类似

的内容
updated_value = 0.23453
my_dict['A']['B']['C']['key'] = updated_value 

VS。

之类的东西
updated_value = 0.23453
my_dict['A']['B']['C'].update({key: updated_value})

正如我上面提到的,我希望这个结构能够使用合理数量的RAM,但它似乎使用了比我真正希望看到的更多的RAM。

所以2个问题: 除了dict之外,还有一个更好的数据结构可以用于此,因为我需要这个描述的层次结构吗?

通过重新分配=与使用update()(给定python如何通过引用传递信息)我实际上使用的RAM比我需要的多吗? (我想知道,当使用= here时,占位符'value'字符串实际上是持久存储在RAM中,即使我已经将字典中的密钥重新分配给新的数字了。)

提前感谢任何想法:)

0 个答案:

没有答案