老师你好,在使用字典的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
相似问题