cA1 = 1
cA2 = 0
dict_1 = {1: cA1, 2:cA2}
q=2
dict_1[q] = [3,6,9]
print dict_1[q]
print cA2
当我们两个都引用cA2
时,我对dict_1[q]
中变量cA2
与变量dict_1[q]
不同的问题陷入困境。由于[3,6,9]
的输出为0
,cA2
的输出为{{1}}。
答案 0 :(得分:0)
通过设置字典中的值,您将覆盖之前值的引用,因此您无法以这种方式进入cA2
。另一个障碍是整数是不可变的,因此无法在定义时更改cA2
的值。
一种方法是:
cA2
定义为list
[:]
)cA1 = 1
cA2 = []
dict_1 = {1: cA1, 2:cA2}
q=2
dict_1[q][:] = [3,6,9] # assign using slice: change value not reference
print(dict_1[q])
print(cA2)
现在更新cA2
,两个值现在都相等:
[3, 6, 9]
[3, 6, 9]