【发布时间】:2021-07-15 05:07:56
【问题描述】:
抱歉,这可能是非常基本的东西。我是 python 新手,无法确定这里出了什么问题
我有这本词典:
Board = {'top-L': ' ', 'top-M': ' ', 'top-R': ' ',
'mid-L': ' ', 'mid-M': ' ', 'mid-R': ' ',
'low-L': ' ', 'low-M': ' ', 'low-R': ' '}
我正在尝试编写一个接受数字 1-9 的函数,将其转换为表示这些地方的 dict 键,如果 value == ' ' 则返回 True:
def CheckSpace(Space): # Will return True if space is available
switcher = {
1: 'top-L',
2: 'top-M',
3: 'top-R',
4: 'mid-L',
5: 'mid-M',
6: 'mid-R',
7: 'low-L',
8: 'low-M',
9: 'low-R',
}
return Board.get(switcher) == ''
错误:TypeError:不可散列的类型:'dict' 有人可以给我小费吗?
***编辑 我想我可以这样写那个函数:
def CheckSpace(Space):#Will return True if space is available
if space == 1:
place = Board.get('top-L')
if space == 2:
place = Board.get('top-M')
if space == 3:
place = Board.get('top-R')
if space == 4:
place = Board.get('mid-L')
#.... and so on to 9..
return place
但我正在尝试使用与 switch case 等效的东西
【问题讨论】:
-
只有hashable 类型可以用作字典中的键。
dict不可散列。见:DictionaryKeys
标签: python function dictionary switch-statement