下面是一个我正在尝试做的例子
profData = []
currentDic = {}
currentDic['name'] = 'Mike'
currentDic['job'] = 'Bartender'
currentDic['company'] = 'Big Bar'
profData.append(currentDic)
currentDic.clear()
currentDic['name'] = 'John'
currentDic['job'] = 'Server'
currentDic['company'] = 'Red Robin'
profData.append(currentDic)
currentDic.clear()
print(profData)
print(currentDic)
出于某种原因,我得到了这个结果
[{}, {}]
{}
我想反复使用currentDic将字典插入profData列表。有什么想法吗
正如python中提到的@Selcuk,当您创建一个变量并赋值时,您的变量就是对该值的引用。 如果将相同的值分配给另一个变量,则会为该值创建另一个引用,而不是将该值存储在新的内存地址并分配给该变量
在您的程序中,创建一个字典并将其附加到列表中。列表中的字典将包含与上面创建的字典相同的引用。它类似于通过引用传递
为了避免您面临的问题,您可以做的是将字典的副本传递给列表
输出:
相关问题 更多 >
编程相关推荐