Skip to main content
 首页 » 编程设计

python-3.x之dict.keys() 返回 dict_keys 类之期望查看对象

2025年01月19日13daizhj

我在 Python 2.7.3 和 Python 3.2.3 中运行以下代码:

test_dict = {'foo':'bar'} 
type(test_dict.keys()) 

在 Python 2 中,输出为:
<type 'list'> 

在 Python 3 中:
<class 'dict_keys'> 

但是 Python 3 文档指出 keys方法应该返回 view object ,那么为什么要返回一个类?

请您参考如下方法:

keys()在 Python 2 中返回一个列表,这很好 - 对于小型字典,但对于大型字典,这需要时间。所以在 Python 3 中,它现在是一个可迭代的 View 对象。这个 View 对象实际上是一种叫做 dict_keys 的类。 .

调用type()keys()返回项目的对象类型,这就是为什么在 Python2 中它是 list ,在 Python 3 中是 dict_keys .