これは、これを行うための「優れた」pythonic方法に対する好奇心の質問にすぎません。
オプションのパラメータを持つ関数があります。
def foo( a, b, c='en' ):
print c
たくさんの情報が含まれているdictがあり、特定のキーがdictにある場合は、それをfooに渡して、cのデフォルトをオーバーライドしたいのですが、キーがdictにない場合は、使用したいだけです。 cのデフォルト。
明らかにこれはうまくいくでしょう...
if "SomeKey" in mydict:
foo( val1, val2, mydict[ "SomeKey" ]
else:
foo( val1, val2 )
そして別のオプションは次のようなことをすることです
params = [ val1, val2 ]
if "SomeKey" in mydict:
params.append( mydict[ "SomeKey" ] )
foo( *params )
しかし、これを行うには、より洗練された、よりパイソン的な方法が必要ですか?すなわち。
foo( val1, val2, mydict[ "SomeKey" ] if "SomeKey" in mydict else < use default > )
前もって感謝します!