可能性のある複製:
Python Ternary Operator
このC/C++コードをPythonで書く方法はありますか? a = (b == true ? "123" : "456" )
a = '123' if b else '456'
a = 'foo' if True else 'bar'
は、三項のifステートメント(python 2.5以降)を実行するより現代的な方法ですが、バージョンの1対1の同等物は次のようになります。
a = (b == True and "123" or "456" )
... pythonの短縮形:
a = b is True and "123" or "456"
...または単にbの値の真実性を一般的にテストしたい場合...
a = b and "123" or "456"
? :
は文字通りand or
に交換できます
私の謎めいたバージョン...
a = ['123', '456'][b == True]
詳細については、 PEP 308 を参照してください。