私の知る限り、Pythonには次の2つがありTernary Operators
ます:
a if テスト else b
テストと a または b
それらは同じ目標を達成しているようで、どちらもラムダ関数で使用できます。
>>> (lambda x: True if x > 0 else False)(5)
True
>>> (lambda x: True if x > 0 else False)(-5)
False
>>> (lambda x: x > 0 and True or False)(5)
True
>>> (lambda x: x > 0 and True or False)(-5)
False
質問
どちらか一方を使用する必要がある場合はありますか?