You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python遍历字典列表触发KeyError:键存在却报错的问题排查

问题原因

你遇到的KeyError根源是类型不匹配:

  • l1中的元素是整数类型(比如1、2)
  • 而l2里字典的键是字符串类型(比如'1'、'2')

Python中整数和字符串是完全不同的对象,用整数1去字典里查找键,只会匹配同样是整数类型的键,找不到字符串'1',因此触发了KeyError。

解决办法

有两种简单的修复方式:

方式一:遍历l1时将元素转为字符串

修改循环代码,把整数转成字符串后再去字典中取值:

for i, j in zip(l1, l2):
    x = j[str(i)]
    print(x)  # 可正常输出1234、2345等目标值

方式二:提前将l2中的字典键转为整数

如果后续业务需要用整数作为键,可以先批量转换l2的字典键类型:

# 把l2中所有字典的键转为整数
l2 = [{int(k): v for k, v in d.items()} for d in l2]
# 原代码即可正常运行
for i, j in zip(l1, l2):
    x = j[i]
    print(x)

内容的提问来源于stack exchange,提问作者Dolliy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:55:22