【发布时间】:2021-12-05 10:27:21
【问题描述】:
我试试这个简单的代码:
def chage_value(dict, key):
dict[key] = 123
return dict
my_dict = {'a': 1, 'b': 2}
print(my_dict)
chage_value(my_dict, 'a')
print(my_dict)
这给了我输出:
{'a': 1, 'b': 2}
{'a': 123, 'b': 2}
为什么'a'值改变了?我没有做类似 my_dict = chage_value(my_dict, 'a')
【问题讨论】:
-
dict[key] = 123这个语句就地改变了字典 -
是的,我明白这是怎么发生的,但我不明白为什么会这样?
-
dict是通过引用传入函数的,所以函数内部的
dict和外部的my_dict都指向同一个对象。
标签: python dictionary