在 python 中,调用 clear()
和将 {}
分配给字典有区别吗?如果是,那是什么?
示例:
d = {"stuff":"things"}
d.clear() #this way
d = {} #vs this way
最佳答案
如果你有另一个变量也引用同一个字典,那就有很大的不同了:
>>> d = {"stuff": "things"}
>>> d2 = d
>>> d = {}
>>> d2
{'stuff': 'things'}
>>> d = {"stuff": "things"}
>>> d2 = d
>>> d.clear()
>>> d2
{}
这是因为分配 d = {}
会创建一个新的空字典并将其分配给 d
变量。这使得 d2
指向旧字典,其中仍有项目。但是,d.clear()
清除了 d
和 d2
都指向的同一个字典。
https://stackoverflow.com/questions/369898/