根据同一字典中的另一个值设置值,python
Value set according to another value in the same dictionary, python
我该如何解决这个问题?
d = {
'a':3,
'b':(d['a']*3)
}
print(d)
导致错误,因为我尝试使用字典名称设置 'b' 的值,显然 python 不喜欢那样。我该如何解决这个问题?
另外:
l = [[2], [(l[0][0]*2)]]
print(l)
有同样的问题。
先给变量赋值:
x = 3
d = {'a': x, 'b': x*3}
y = 2
l = [[y], [y*2]]
考虑到赋值的工作方式——首先评估 RHS 表达式,然后才将结果对象绑定到 LHS——这是意料之中的:您不能引用尚未在当前范围。
解决方案要么使用一个中间变量作为您要重用的值,如兰博的回答中所述,要么首先构建 dict
(或 list
或其他)第一个密钥或 index/value 对然后构建另一个,即:
d = {"a", 3}
d["b"] = d["a"] * 3
我该如何解决这个问题?
d = {
'a':3,
'b':(d['a']*3)
}
print(d)
导致错误,因为我尝试使用字典名称设置 'b' 的值,显然 python 不喜欢那样。我该如何解决这个问题?
另外:
l = [[2], [(l[0][0]*2)]]
print(l)
有同样的问题。
先给变量赋值:
x = 3
d = {'a': x, 'b': x*3}
y = 2
l = [[y], [y*2]]
考虑到赋值的工作方式——首先评估 RHS 表达式,然后才将结果对象绑定到 LHS——这是意料之中的:您不能引用尚未在当前范围。
解决方案要么使用一个中间变量作为您要重用的值,如兰博的回答中所述,要么首先构建 dict
(或 list
或其他)第一个密钥或 index/value 对然后构建另一个,即:
d = {"a", 3}
d["b"] = d["a"] * 3