根据其他值在字典中定义值

时间:2014-02-13 14:05:51

标签: python dictionary

实现这样的目标的最佳方式是什么:

dic = {
    'foo': Tree(),
    'foobar': #the method 'branch()' executed on 'foo'
}

这可以按我描述的方式完成,还是应该使用dic['foobar'] = dic['foo'].branch()的第二个作业?

1 个答案:

答案 0 :(得分:0)

我认为没有任何理由不这样做:

t = Tree()
dic = {'foo': t, 'foobar': t.branch()}

但也许这个技巧可以帮到你:

dic = {'foo': Tree(), 'foobar': lambda: dic['foo'].branch()}

缺点是,您必须使用dic['foobar']()而不是dic['foobar']并且每次都执行.branch()函数,这可能不是您想要的。