[英]KeyError when key is in dictionary
所以我偶然发现了这个奇怪的错误。 我制作了一个包含这些键的字典:
database_5x5 = {'(1, 0, 0, 0, 1)': [(0, 0), (0, 1)],
'(0, 1, 0, 1, 0)': [(0, 0), (0, 3)],
'(1, 1, 1, 0, 0)': [(0, 1)],
'(0, 0, 1, 1, 1)': [(0, 3)],
'(1, 0, 1, 1, 0)': [(0, 4)],
'(0, 1, 1, 0, 1)': [(0, 0)],
'(1, 1, 0, 1, 1)': [(0, 2)]
}
这是访问字典的代码:
bottom = tuple(puzzle[len(puzzle)-1])
next_moves = database_5x5[bottom]
我的代码运行并给我这个错误:
KeyError: (0, 1, 1, 0, 1)
我不确定这里有什么问题......我很感激你的帮助!
字典中的键是string
类型。 你应该铸造bottom
:
next_moves = database_5x5[str(bottom)]
您的字典database_5x5
中的每个键都是一个字符串,但您请求一个元组具有元组键bottom
。 尝试转换密钥类型,例如,这样:
next_moves = database_5x5[str(bottom)]
你的dict的键是字符串类型。 所以你需要确定两件事。
1)此段tuple(puzzle[len(puzzle)-1])
生成一个字符串。
2)(愚蠢的)空格和逗号完全匹配。
固定:
1)将您的密钥更改为不是字符串。
2)将bottom
转换为字符串 - database_5x5[str(bottom)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.