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)

本当にあらかじめ決められた固定の値を返すだけなら、可能なすべての入力インデックスをキーとし、それに対応する値を持つ辞書を作ることができます。また、戻り値を何らかの方法で計算する場合を除いて、関数でこれを行うことはあまり望ましくないでしょう。

もし、switchのようなことをしたいのであれば、hereを参照してください。

解説 (0)