【发布时间】:2017-10-22 20:16:09
【问题描述】:
我在看探索 python。它有一个例子:
>>> d1 = {'name': 'ethan', 'books': ['book1', 'book2', 'book3']}
>>> d2 = d1.copy()
>>> d2['name'] = 'peter'
>>> d2
{'books': ['book1', 'book2', 'book3'], 'name': 'peter'}
>>> d1
{'books': ['book1', 'book2', 'book3'], 'name': 'Ethan'}
字典不是值键对象吗?为什么说name的值是不可变对象,所以d1的属性不会改变。
【问题讨论】:
-
字典不是不可变的。该代码显式创建了一个单独的(尽管 shallow)副本。
-
name的值为字符串,不可变。但它在这里的任何地方都没有变异。 dictionary 是可变的,您可以告诉它将不同的值关联到给定的键。
标签: python