Python 函数 + 字典

Python function + dict

抱歉,这可能是非常基本的内容。我是 python 的新手,无法指出这里出了什么问题

我有这本字典:

Board = {'top-L': ' ', 'top-M': ' ', 'top-R': ' ',
         'mid-L': ' ', 'mid-M': ' ', 'mid-R': ' ',
         'low-L': ' ', 'low-M': ' ', 'low-R': ' '}

我正在尝试编写一个接受数字 1-9 的函数,将其转换为表示这些位置的字典键,并且 return True if value == ' ':

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) == ''

错误:类型错误:无法散列的类型:'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 等效的东西

Board.get(switcher) == ''

switcher 是一个命令。也许你想要 Board.get(switcher.get(Space)) == ' '

.get 方法接受一个密钥。您传入了 switcher 这是一个字典(dict 不可哈希,因此会出现错误)。

首先使用 .get;

获取密钥

例如switcher.get(Space)

然后:Board.get(switcher.get(Space)) == ' '