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

所以我试图将两个字典与两个相似的键结合起来。我在堆栈溢出中阅读了有关合并两个字典的帖子。但是,当我运行它时。它给了我一个 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

请帮助解决导致此错误的原因。谢谢!


UYOU
浏览 263回答 1
1回答

哈士奇WWW

很确定你的意思是: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最初是空的,并且绝对没有其他字典所做的任何键。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python