Python中switch语句的替代物?

我想在Python中写一个函数,根据一个输入索引的值返回不同的固定值。

在其他语言中,我会使用switchcase语句,但Python似乎没有switch语句。 在这种情况下,有哪些推荐的Python解决方案?

解决办法

你可以用一本字典。

def f(x):
    return {
        'a': 1,
        'b': 2,
    }[x]
评论(18)

我一直喜欢这样做

result = {
  'a': lambda x: x * 5,
  'b': lambda x: x + 7,
  'c': lambda x: x - 2
}[value](x)

从这里

评论(15)

如果你真的只是要返回一个预定的、固定的值,你可以创建一个字典,把所有可能的输入索引作为键,以及它们相应的值。另外,你可能并不希望由一个函数来做这件事--除非你要以某种方式计算返回值。

哦,如果你想做一些类似开关的事情,请看这里

评论(0)