例如(从实际的使用大大简化):Python:有没有办法让所有对象的引用都引用另一个对象?
我为10,000引用到3个对象的一个列表:
a,b,c = {'font-size':1},{'font-size':2},{'font-size':2.3}`
styles = [a,b,c,a,a,a,a,a,b,......] #10,000
这节省了我的每创建一个新的字典的记忆10000个指标,因为它们都属于三种价值之一(实际上有数百种)。
现在我决定字体大小必须是int,所以我围绕c
到{'font-size':2}
。但我希望所有c
变成b
,因为它们现在是同一个。
有没有一种方法(对整个列表进行彻底的比较,并比较每个值并在需要时将其替换,我知道它,但是如果我必须再次对很多对象再次执行,则会变得很慢),以使所有参考c
参考b
?我知道python保留垃圾清理这样的引用列表。或者也许c
引用的对象可以依次自动引用b
?
编辑:我欣赏建议的解决方法,但正如在评论中所述,解决方法都让我遇到问题,我希望通过找到问题答案(改变内存消耗或时间消耗)通过Python引用列表引用或以某种方式在python内部重定向引用)。
呢'C = B'做出任何帮助吗? –
不,因为在'styles'中它仍然指'c',即'styles [2]是b == False' – Jeff
据我所知,你所要求的是不可能的。 – mgilson