在我的代码中:
line_x = 10
c = 'A'
d = 'B'
a = {}
a['one']='| | | | | |'
a['two']='| | | | | |'
#untill thirteen
vak = a.keys()
b = a #copy the dictionary
spot = a[vak[0]]
spot2 = b[vak[0]]
a[vak[0]] = spot[:(line_x)]+ d+ spot[(line_x+1):]
b[vak[0]] = spot2[:(line_x)]+ c+ spot2[(line_x+1):]
print a[vak[0]] #output_a = | | | A | | |
print b[vak[0]] #output_b = | | | A | | | <- which should be a 'B' in the middle
我在复制字典和更改值时遇到了一些问题。
当我想更改其中一本词典中的值时,原始值和副本的值都会发生变化。但我只想改变原件,让副本改变成别的东西。我似乎找不到问题,尽管它在这么小且相对简单的代码中。
请您参考如下方法:
b = a 不复制字典,它重新绑定(bind) b 指向与 a 相同的对象(所以当你改变a,你也可以在b上观察效果)。请改用 b = copy.copy(a)(copy 模块)。
