我想构建一个dict,其中一个值是从另一个值构建的.
我想写作
d = {
'a':1,
'b':self['a']+1
}
但它没有按预期工作:
>>> {'a':1, 'b':self['a']+1}
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'self' is not defined
那么,我怎样才能实现Python技巧呢? (我正在使用Python2.4)
最佳答案 您无法引用尚未创建的字典.只需在创建字典后分配其他键:
d = {'a': 1}
d['b'] = d['a'] + 1
或者,首先将值设置为单独的变量,然后创建字典:
a_value = 1
d = {'a': a_value, 'b': a_value + 1}