我在 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
.
关于python-3.x - dict.keys() 返回 dict_keys 类 - 期望查看对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21021360/