Python调用dict.items()取首元素报object is not subscriptable错误如何解决
报错原因
dict.items() 返回的是 dict_items 视图对象,不属于支持下标索引的序列类型,所以直接用 [] 访问元素会触发 object is not subscriptable 报错。同时你代码中写的 [0,0] 属于非法的下标写法,即使是可索引的序列类型也不支持这种访问方式。
解决方案
你只需要先把 dict_items 对象转换为列表类型,就可以通过下标获取第一个元素了,完整代码如下:
alphabet_numbers = {'a': '1', 'b': '2', 'c': '3', 'd' : '4', 'e': '5' } # 先将字典视图转为列表 items_list = list(alphabet_numbers.items()) # 取第一个元素 print(items_list[0])
运行后就会输出你想要的 ('a', '1')。
如果需要单独取第一个元素的键或者值,可以用两层下标访问:
- 取键:
items_list[0][0]得到'a' - 取值:
items_list[0][1]得到'1'
注意:Python 3.7及以上版本官方规定字典默认保留插入顺序,此时你取到的第一个元素就是定义字典时写的第一个键值对;如果使用低于3.7的Python版本,字典本身是无序的,取出的第一个元素无法保证是
('a', '1')。
内容的提问来源于stack exchange,提问作者user11981026
相关产品推荐
相关产品推荐

