Duplicate possible:
Opérateur ternaire Python
Est-il possible d'écrire ce code C/C++ en Python? a = (b == true ? "123" : "456" )
a = '123' if b else '456'
Tandis que a = 'foo' if True else 'bar'
est la manière la plus moderne de faire l’instruction ternary if (python 2.5+), un équivalent 1: 1 de votre version pourrait être:
a = (b == True and "123" or "456" )
... qui dans python devrait être raccourci à:
a = b is True and "123" or "456"
... ou si vous voulez simplement tester la véracité de la valeur de b en général ...
a = b and "123" or "456"
? :
peut littéralement être échangé contre and or
Ma version cryptique ...
a = ['123', '456'][b == True]
Voir PEP 308 pour plus d’informations.