修改数字与列表中的字典元素时的不同行为

时间:2017-09-22 16:06:44

标签: python python-3.x dictionary variable-assignment

为什么

num_list = [1, 2, 3, 4, 5]
first_num = num_list[0]
first_num = 0
print(num_list)

返回[1, 2, 3, 4, 5],但

dict_list = [{"num": 1}, {"num": 2}, {"num": 3}, {"num": 4}, {"num": 5}]
first_dict = dict_list[0]
first_dict["num"] = 0
print(dict_list)

返回[{'num': 0}, {'num': 2}, {'num': 3}, {'num': 4}, {'num': 5}]

换句话说,为什么将一个变量赋值给一个列表元素并修改该变量,只有当它是一个dict而不是一个数字时才会修改该元素?我想这可能是由于数字和字典存储在Python中的方式,但作为一个Python初学者,我不确定在哪里寻找答案。

我非常感谢你帮助我理解这种区别!

0 个答案:

没有答案