例如,如下所述,是否可以在定义a
时调用b
?
c = dict(
a = "foo",
b = a + "bar"
)
或者我只能使用:
c = dict()
c['a'] = "foo"
c['b'] = c['a'] + "bar"
答案 0 :(得分:2)
这应该重构:
a = "foo"
c = dict(a=a, b=a+"bar")
你可以在一行中完成,没有临时变量a
,但它并不漂亮:
c = (lambda x: dict(a=x, b=x+"bar"))("foo")
答案 1 :(得分:0)
没有。对于您提供的第一个示例,它是不可能的。秒的例子更像是Pythonic。
如果你真的希望它在一个电话中,你可能没有硬编码值,所以你可以使用:
text = "foo"
c = dict(
a = text,
b = text + "bar"
)