Rubyでは、変数の値を条件付きで設定する場合は、次のようにすることができます。
foo = myhash[ "bar" ] || myhash[ "baz" ]
また、fooの値が存在する場合はmyhash ["bar"]に設定され、存在しない場合はfooがmyhash["baz"]に設定されます。どちらも存在しない場合は、fooがnilに設定されます。
Pythonでは、このタイプの割り当てを試みると構文エラーが発生します。さらに、Pythonはmyhash ["baz"]にKeyErrorを設定する代わりに、KeyErrorをスローします。Pythonで条件付きでfooを設定する唯一の方法は、大きな複数行の条件付きステートメントを作成することだと私には思えますが、Rubyのように1行でこれを実行したいと思っています。これを行う方法はありますか?