检索替换的可变对象引用ID并分配给变量

时间:2019-01-31 11:48:57

标签: python python-3.x

自学Python之后,遇到了一些引发一些问题的行为。

在Python 3.5版本中

>>> d=dict(a=1,b=2,c=3)
>>> d
{'a': 1, 'b': 2, 'c': 3}
>>> k=d.keys()
>>> k
dict_keys(['b', 'c', 'a'])
>>> d=dict(a=1,b=2,c=3,aa=4,ff=6,pp=7)
>>> d
{'a': 1, 'aa': 4, 'b': 2, 'c': 3, 'ff': 6, 'pp': 7}
>>> k
dict_keys(['b', 'c', 'a'])

k仍显示第一个词典中的键。

但是在Python 3.x中,d.keys是字典的视图。

此词典不再链接到变量,但似乎仍由键视图引用,因此不会被垃圾收集。

这是预期的行为吗?

有没有办法链接仍由键视图引用的字典?

是否可以通过变量k引用的键视图访问值或项目?

0 个答案:

没有答案