为了账号安全,请及时绑定邮箱和手机立即绑定

KeyError 为什么会发生这种情况我所有的键都存在(python)?

KeyError 为什么会发生这种情况我所有的键都存在(python)?

UYOU 2022-06-07 18:58:40
所以我试图将两个字典与两个相似的键结合起来。我在堆栈溢出中阅读了有关合并两个字典的帖子。但是,当我运行它时。它给了我一个 KeyError 错误,即使我在两个字典中都有所有键。这是代码:coordinates={'hello': (2, 6), 'hola': (2, 6), 'hella': (2, 6), 'heya': (2, 6), 'heyo': (2, 6), 'hill': (2, 6), 'halo': (2, 6), 'hall': (2, 6), 'hail': (2, 6), 'hay': (2, 6), 'hale': (2, 6), 'holy': (2, 6)}solution={'hello': 'right', 'hall': 'right', 'hella': 'left', 'hale': 'left', 'hail': 'down', 'heya': 'down', 'holy': 'down', 'hola': 'up', 'hay': 'down-right', 'hill': 'up-left', 'heyo': 'up-right', 'halo': 'down-left'}FINAL_SOL = [coordinates, solution]FINAL_DICT = {}for word in coordinates.keys():  FINAL_DICT[word] = tuple(FINAL_DICT[word] for d in FINAL_SOL)print(FINAL_DICT)我希望有一个具有这种格式的字典:'Key': (x,y), direction请帮助解决导致此错误的原因。谢谢!
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

很确定你的意思是:

FINAL_DICT[word] = tuple(d[word] for d in FINAL_SOL)

不是:

FINAL_DICT[word] = tuple(FINAL_DICT[word] for d in FINAL_SOL)

因为这种方式(现在写的方式)会给你一个 KeyError,因为FINAL_DICT最初是空的,并且绝对没有其他字典所做的任何键。


查看完整回答
反对 回复 2022-06-07
  • 1 回答
  • 0 关注
  • 262 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信