Python处理字典列表遇问题:无法获取对应value值求助
解决字典列表取值报错的方法
先确认列表元素的类型
提示“无法对数字进行下标操作”,大概率是你误以为拿到的是字典,但实际是数字,或者访问方式错了。先拿第一个元素验证:
# 假设你的列表叫dict_list print(type(dict_list[0]))
如果输出是<class 'dict'>,说明元素是字典,继续往下;如果是数字类型(比如<class 'int'>),那你得先检查列表数据,清理掉非字典的元素。
用字典的key取值,别用数字下标
字典不是列表,不能用[0]、[1]这种数字下标取值,得用字典里的key。比如你的字典长这样:
{"name": "小明", "score": 90}
那取name的value就写item["name"],取score就写item["score"]。
批量遍历的正确代码示例:
# 遍历列表里的每个字典 for item in dict_list: # 替换成你实际需要的key print(item["你的key名称"])
确认key的正确性
如果还是报错,先打印第一个字典的所有key,看看自己是不是拼写错了,或者key是数字类型:
print(dict_list[0].keys())
比如输出是dict_keys([1, "name"]),那取数字key的value就要写item[1],字符串key还是用item["name"]。
避坑提醒
别写这种错误代码:
for i in range(len(dict_list)): # 错误:字典不能用数字下标,除非你的key就是数字 print(dict_list[i][0])
内容的提问来源于stack exchange,提问作者jimmycodes123
相关产品推荐
相关产品推荐

