我有一本非常非常大的词典。通常值是相同的,似乎应该有一种方法通过引用相同的字典值来减小大小
目前,我使用“Does value have synonym”的两次传递方法,然后是查找synonym的值
但在理想情况下,这将是伟大的,有一个方法来做到这一点,在一次去
animals = {
'cat':{'legs':4,'eyes':2},
'dog':{'legs':4,'eyes':2},
'spider':{'legs':8,'eyes':6},
}
我可以有一个值“maleman”,这样我就说了“cat”:哺乳动物,但我想能做的是“dog”:动物['cat']
因为作为一个参考,它应该占用较少的内存,这是目标
我正在考虑用一个类来处理这个问题,但我不是第一个认为字典中的重复值可能会被“压扁”的人,我更愿意用最python的方式来处理
我认为对象和继承是做你想做的事情的更好的方法,也许除了对记忆的关注
要使用引用而不是复制每个字典的值,可以使用ctypes模块:
不确定这是否是“最具Python性的方式”,顺便说一句,我认为这是正确的方式
另一种方法是使用weakref module。我对这个不太了解,看看这个post和其他人的不同答案关于使用引用的提示
相关问题 更多 >
编程相关推荐