l = []
a = {'name':'lisa'}
l.append(a)
print(l,'\n','='*20)
这里得到列表l为:[{‘name’: ‘lisa’}]
继续输入代码:
l = []
a = {'name':'lisa'}
l.append(a)
print(l,'\n','='*20)
a['name'] = 'tom'
print('a:',a)
l.append(a)
print(l)
注意第二次打印的列表l,本应该是[{‘name’: ‘lisa’},{‘name’: ‘tom’}]
让我们看一下结果:
乍一看我的天,lisa怎么没有了,而是两个tom,细想一下,这是因为列表中存储的不是一个字符串,而是指向内存ip的一个指针,指针所指向的内容发生了变化,lisa自然也就变了。