.items()
我一直在尝试理解 Python 3 中由, .values()
,.keys()
或类似地由.viewitems()
, .viewvalues()
, .返回的内置视图对象.viewkeys()
。关于该主题还有其他线程,但似乎没有一个(甚至doc )描述了它们在内部的工作方式。
与 Python 2 中返回的类型副本相比,这里的主要收获似乎是有效的list
。经常将其比作字典项目的窗口(如在这个线程中)。
但是那个窗口是什么,为什么它更有效?
我唯一能看到的是视图对象似乎是 类似集合的对象,这对于成员资格测试通常更快。但这是唯一的因素吗?
代码示例
>>> example_dict = {'test':'test'}
>>> example_dict.items()
dict_items([('test', 'test')])
>>> type(example_dict.items())
<class 'dict_items'>
所以,我的问题是关于这dict_items
门课的。这在内部如何运作?