为什么在此Python示例中,变量会影响另一个变量?

时间:2019-05-02 14:35:47

标签: python python-3.x list dictionary

此输出的原因是什么?

这里是一个例子:

list_ = [{'status': True}]
print(list_)

for dict_ in list_:    
    dict_['status'] = False 

print(dict_)
print(list_)

出局:

[{'status': True}]
{'status': False}
[{'status': False}]  # Why list_ changed? I changed only the dict_!

为什么list_发生了变化?我只更改了dict_

2 个答案:

答案 0 :(得分:3)

列表和字典为mutable objects,这基本上意味着它们指向相同的内存对象。

答案 1 :(得分:0)

您更改了列表所包含的词典。因此,您更改了其内存地址的值。