pythonで処理の分岐をおこなうときに、ディクショナリを使ってみたいと思っています。
たとえば以下のような処理があるとします。
python
1 var=数値 2 3 if var==1: 4 //処理1 5 elif var==2: 6 //処理2 7 elif var==3: 8 //処理3 9 elif var==4: 10 //処理4
これを
python
1 dic={ 2 1:処理1の関数, 3 2:処理2の関数, 4 3:処理3の関数, 5 4:処理4の関数 6 } 7 var=数値 8 dic[var]()
という風にしたいです。
この際、処理が十分短い場合には、
python
1 dic[1]=lambda 処理1
という書き方をしたい気がします。
ただ、PEPでは、lambdaの変数への代入は推奨されていないと聞きます。
そこで質問なのですが、
①上記のようにlambdaを使うことは、やはり控えるべきでしょうか。
②その場合、どのように書くのが適切でしょうか(defで定義した上で代入するのでしょうか)
③lambdaを代入すべきでない実質的な理由はなんでしょうか。
以上よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/29 10:10
2018/05/29 10:28
2018/05/29 10:36
退会済みユーザー
2018/05/29 10:55