老师你好,在使用字典的keys()方法时,返回的是dict_items([1,2,3……])等,不能索引但可以迭代,是什么原理?
来源:4-6 dict 字典
装甲梅耶
2017-10-07
D = {0:'a',1:'b',2:'c',3:'d'}
dict1 = D.keys()
print(dict1) #输出:dict_keys([0, 1, 2, 3]) 这是什么?
# print(dict1[1]) #报错,说是不支持索引
print(list(dict1)[1]) #输出:1 也就是list()把dict_keys([0, 1, 2, 3]) 转化为列表了
for x in dict1:
print(x,end=" ") #输出了:0 1 2 3 上边证明它不是列表了,这里又不需要list()转化就可以迭代,是什么原因啊?写回答
2回答
-
因为dict_itmes 本身是一个特殊的类型表示字典key的集合,本身dict_items就不能用索引访问,这是类型的设计。既然你取了items,没有理由要依靠特定的索引吧。
10 -
7七月
2017-10-07
要索引就转换成list
00
相似问题