请教一个 Python 中 for in 列表修改值的问题

讨论 oneforall
Lv2 初级炼丹师
发布在 Python编程   793   1
讨论 oneforall   793   1

代码如下:

case1: 
lists = []

v1 = {"name": "aa", "age": 18}
lists.append(v1)

for v in lists:
    v["name"] = "bb"

print(lists) //[{'name': 'bb', 'age': 18}]


case2:
list2 = []

v2 = "a"
list2.append(v2)

for v in list2:
    v = "b"

print(list2) //a

按我的理解,for in 出来的 value 不应该是第二种情况,属于值拷贝吗,为什么在 case1 中,可以直接修改 list 中的值啊,是因为 list 中的字典类型是引用类型吗?

版权声明:作者保留权利,不代表意本站立场。如需转载请联系本站以及作者。

参与讨论

回复《 请教一个 Python 中 for in 列表修改值的问题

EditorJs 编辑器

沙发,很寂寞~
反馈
to-top--btn