L'opérateur ternaire en Python nous permet d'effectuer des vérifications conditionnelles et d'attribuer des valeurs ou d'effectuer des opérations sur une seule ligne. Elle est également appelée expression conditionnelle car elle évalue une condition et renvoie une valeur si la condition est vraie et une autre si elle est fausse.
Exemple de base d'opérateur ternaire
La manière la plus simple d’utiliser un opérateur ternaire Python est d’avoir un simple sinon condition - l'une des deux conditions est vraie et l'autre est fausse.
Commençons par un exemple simple pour déterminer si un nombre est pair ou impair :
Pythonn = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
Sortir
Odd
L'opérateur ternaire peut être utilisé de différentes manières. Voyons quelques exemples différents d'utilisation des opérateurs ternaires en Python :
Table des matières
- Opérateur ternaire dans If else imbriqué
- Opérateur ternaire utilisant Python Tuple
- Opérateur ternaire utilisant le dictionnaire Python
- Opérateur ternaire utilisant Python Lambda
- Opérateur ternaire avec fonction d'impression
Opérateur ternaire dans If else imbriqué
L'opérateur ternaire peut également être utilisé dans Instruction if-else imbriquée Python . Nous pouvons imbriquer des opérateurs ternaires pour évaluer plusieurs conditions sur une seule ligne.
Syntaxe: value_if_true si condition sinon value_if_false
Exemple:
Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
Sortir
Negative
Explication:
- Il vérifie d’abord si num > 0. Si True, il renvoie « Positif ».
- Si False, il vérifie si num< 0. If True it returns 'Negative'.
- Si les deux conditions échouent, la valeur par défaut est « Zéro ».
Opérateur ternaire utilisant Tuple
L'opérateur ternaire peut également être écrit en utilisant Tuples Python . La méthode d'indexation des tuples est une alternative à l'opérateur ternaire.
Syntaxe: (condition_is_false condition_is_true)[condition]
Exemple:
Pythonn = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
Sortir
Odd
Explication:
chaîne javascript remplacer
- La condition num % 2 == 0 est évaluée à False (index 0) et sélectionne donc « Odd ».
Opérateur ternaire utilisant le dictionnaire
UN dictionnaire peut être utilisé pour mapper des conditions à des valeurs, offrant ainsi un moyen d'utiliser un opérateur ternaire avec des conditions plus complexes.
Syntaxe: condition_dict = {Vrai : value_if_true False : value_if_false}
alternative à mylivecricket
Exemple:
Pythona = 10 b = 20 max = {True: a False: b}[a > b] print(max)
Sortir
20
Explication: Cela utilise un dictionnaire où la clé est True ou False en fonction de la condition a > b. La valeur correspondante (a ou b) est alors sélectionnée.
Opérateur ternaire utilisant Python Lambda
Lambdas peut être utilisé conjointement avec l'opérateur ternaire pour la logique conditionnelle en ligne.
Syntaxe: lambda x : value_if_true si condition sinon value_if_false
Exemple:
Pythona = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max)
Sortir
20
Explication: Ceci définit une fonction anonyme (lambda) qui prend deux arguments et renvoie le plus grand en utilisant l'opérateur ternaire. Il est alors appelé avec a et b.
Opérateur ternaire avec fonction d'impression
L'opérateur ternaire peut également être utilisé directement avec le Instruction d'impression Python . Sa syntaxe est la suivante :
Syntaxe: print (value_if_true si condition sinon value_if_false)
Exemple: Dans cet exemple, nous trouvons le nombre minimum parmi deux nombres en utilisant l'opérateur ternaire Python avec l'instruction print.
Pythona = 10 b = 20 print('a is greater' if a > b else 'b is greater')
Sortir
b is greater
Explication: Cela vérifie si a est supérieur à b. Si c'est vrai, il affiche « a est plus grand » ; sinon, il affiche « b est plus grand ».
Limites de l'opérateur ternaire Python
Bien que l’opérateur ternaire soit concis, il doit être utilisé avec prudence :
- Il peut réduire la lisibilité s’il est surutilisé ou utilisé dans des conditions complexes.
- Il est limité à de simples expressions sur une seule ligne.