L'operatore ternario in Python ci consente di eseguire controlli condizionali e assegnare valori o eseguire operazioni su una singola riga. È nota anche come espressione condizionale perché valuta una condizione e restituisce un valore se la condizione è vera e un altro se è falsa.
Esempio base di operatore ternario
Il modo più semplice per utilizzare un operatore ternario Python è quando abbiamo un semplice se altrimenti condizione - una delle due condizioni è vera e l'altra è falsa.
Cominciamo con un semplice esempio per determinare se un numero è pari o dispari:
Pythonn = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
Produzione
Odd
L'operatore ternario può essere utilizzato in vari modi. Vediamo alcuni esempi diversi per utilizzare gli operatori ternari in Python:
Sommario
come cambiare la stringa in int
- Operatore ternario in Nested If else
- Operatore ternario che utilizza la tupla Python
- Operatore ternario utilizzando il dizionario Python
- Operatore ternario che utilizza Python Lambda
- Operatore ternario con funzione di stampa
Operatore ternario in Nested If else
È possibile utilizzare anche l'operatore ternario Python ha annidato l'istruzione if-else . Possiamo annidare operatori ternari per valutare più condizioni in un'unica riga.
Sintassi: valore_se_vero se condizione altrimenti valore_se_falso
Esempio:
Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
Produzione
Negative
Spiegazione:
- Per prima cosa controlla se num > 0. Se True restituisce 'Positivo'.
- Se False controlla se num< 0. If True it returns 'Negative'.
- Se entrambe le condizioni falliscono, il valore predefinito è "Zero".
Operatore ternario che utilizza Tupla
L'operatore ternario può anche essere scritto utilizzando Tuple Python . Il metodo di indicizzazione della tupla è un'alternativa all'operatore ternario.
np.random.rand
Sintassi: (condizione_è_falsa condizione_è_vera)[condizione]
Esempio:
Pythonn = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
Produzione
Odd
Spiegazione:
- La condizione num % 2 == 0 restituisce False (indice 0), quindi seleziona 'Dispari'.
Operatore ternario che utilizza il dizionario
UN dizionario può essere utilizzato per mappare le condizioni sui valori fornendo un modo per utilizzare un operatore ternario con condizioni più complesse.
Sintassi: condizione_dict = {Vero: valore_if_true Falso: valore_if_false}
Esempio:
anaconda contro serpente pitonePython
a = 10 b = 20 max = {True: a False: b}[a > b] print(max)
Produzione
20
Spiegazione: Utilizza un dizionario in cui la chiave è Vero o Falso in base alla condizione a > b. Viene quindi selezionato il valore corrispondente (aob).
Operatore ternario che utilizza Python Lambda
Lambda può essere utilizzato insieme all'operatore ternario per la logica condizionale in linea.
Sintassi: lambda x: valore_se_vero se condizione altrimenti valore_se_falso
Esempio:
clausole sqlPython
a = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max)
Produzione
20
Spiegazione: Ciò definisce una funzione anonima (lambda) che accetta due argomenti e restituisce quello più grande utilizzando l'operatore ternario. Viene quindi chiamato con a e b.
Operatore ternario con funzione di stampa
L'operatore ternario può essere utilizzato anche direttamente con il Dichiarazione di stampa Python . La sua sintassi è la seguente:
Sintassi: print(valore_se_vero se condizione altrimenti valore_se_falso)
Esempio: In questo esempio troviamo il numero minimo tra due numeri utilizzando l'operatore ternario Python con l'istruzione print.
Pythona = 10 b = 20 print('a is greater' if a > b else 'b is greater')
Produzione
b is greater
Spiegazione: Questo controlla se a è maggiore di b. Se vero stampa 'a è maggiore'; altrimenti stampa 'b è maggiore'.
Limitazioni dell'operatore ternario Python
Sebbene l'operatore ternario sia conciso, dovrebbe essere usato con cautela:
- Può ridurre la leggibilità se utilizzato in modo eccessivo o in condizioni complesse.
- È limitato a semplici espressioni a riga singola.