【发布时间】:2014-01-09 13:16:29
【问题描述】:
我在 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不返回一个类,它返回一个类的实例。我认为type的用法存在一些误解。相比之下,type(1)返回<class 'int'>,1 也不是一个类。 -
我觉得你说得对,我不懂类型
-
dict_keys是一个字典视图类型。这样的类型不止一种。test_dict.values()将返回一个dict_values实例,test_dict.items()返回一个dict_items实例。
标签: python-3.x dictionary