如何在dict创建过程中从另一个构建Python dict值?

我想构建一个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}
点赞