为dict变量赋值的奇怪行为(Python 3)

时间:2017-06-22 16:42:38

标签: python dictionary variable-assignment

在使用相同的值列表为两个(或更多个)不同的dict变量赋值时,您是否遇到过这种行为?

m1={}
m2={}
token=['a','b','c']
m1['12345']=token
m2['4422']=token
#both dict variables with different keys have the same list
token=['d','e','f']
m2['4422'].extend(token)
#m2['4422'] has the following values ['a','b','c''d','e','f'] as expected
#however m1 has the same values!!!
m1
#['a','b','c''d','e','f']

这个问题与前一个问题(由Lior制作)不同,因为它有某种复杂的间接性。我想这个问题的答案可以帮助理解这个问题,但我认为这个问题有点棘手。

0 个答案:

没有答案