自学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
引用的键视图访问值或项目?