Python如何从Dictionary获取指定键与元素?KeyError:0报错解决
错误原因
Python字典是键值对映射结构,不支持列表、元组这类序列类型的位置整数索引取值规则。
你定义的字典仅存在一个键:字符串"days",对应值为存储三个星期缩写的列表。执行dic[0]时,解释器会查找字典中键为整数0的条目,字典内无此键,因此抛出KeyError: 0错误。
解决方案
要获取目标内容,需要使用字典中实际存在的键"days"取值:
dic = {"days":["mon","tue","wed"]} print(dic["days"])
运行输出为:
['mon', 'tue', 'wed']
如果需要完全匹配你预期的输出格式(不带列表方括号、每个字符串带双引号、逗号分隔),可以通过字符串拼接处理:
dic = {"days":["mon","tue","wed"]} print(','.join(f'"{item}"' for item in dic["days"]))
运行输出为:
"mon","tue","wed"
实用提示
- 字典取值必须传入已存在的键作为索引,注意区分字典和序列类型的索引逻辑
- 不确定键是否存在时,可使用
dic.get(目标键, 默认返回值)的写法避免KeyError,例如dic.get("days", [])会在键不存在时返回空列表,不会中断程序运行
内容的提问来源于stack exchange,提问作者Prison Mike
相关产品推荐
相关产品推荐

