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

标签 python-3.x dictionary

我在 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/

相关文章:

使用 numpy/scipy 进行 Python 多处理速度较慢

python-3.x - Pyppeteer RequestSetIntercept函数: coroutine was never awaited

python - 比较字典并合并它们。不会覆盖,也不会重复值

Python-查找列表中相邻值的个数

java - 按键或值对 TreeMap 进行排序

java - 对象字典,其中 key 是 Java 中的实例字段

python - 如何修复 tensorflow 中的 'ValueError: Empty Training Data'错误

python-3.x - 减少深度学习模型的输入维度

python-3.x - 属性错误: 'MpoImageFile' object has no attribute 'shape'

javascript - 数组的性能包括与映射到对象并在 JavaScript 中访问它