Verschachteln ternärer Operatoren in Python

Der ternäre Operator setzt eine einfache if-else-Anweisung in einer Zeile zusammen, um das Lesen zu erleichtern.

if-else-Anweisung

Wenn Sie beispielsweise foo als Wert anzeigen möchten, wenn v größer als 10 ist, und ansonsten einen Balken erstellen möchten, schreiben Sie ihn in die if-else-Anweisung und in 4 Zeilen.

if-4 Zeilen, wenn in else-Anweisung geschrieben


In [22]: for v in range(-5, 15):   
    ...:     if v > 10:               
    ...:         p = 'foo'            
    ...:     else:                    
    ...:         p = 'bar'            
    ...:     print(v, p)              
    ...:                              
-5 bar                                
-4 bar                                
-3 bar                                
-2 bar                                
-1 bar                                
0 bar                                 
1 bar                                 
2 bar                                 
3 bar                                 
4 bar                                 
5 bar                                 
6 bar                                 
7 bar                                 
8 bar                                 
9 bar                                 
10 bar                                
11 foo                                
12 foo                                
13 foo                                
14 foo                                

Dreiecksoperator

Die Grammatik des ternären Operators ist

(Variable) = (Wert, wenn die Bedingung wahr ist) if (Bedingungen) else (BedingungenがFalseのときの値) 

Ein ternärer Operator kann in eine Zeile geschrieben werden.

Eine Zeile beim Schreiben mit einem ternären Operator


In [26]: for v in range(-5, 15):
    ...:     p = 'foo' if v > 10 else 'bar'
    ...:     print(v, p)
-5 bar
-4 bar
-3 bar
-2 bar
-1 bar
0 bar
1 bar
2 bar
3 bar
4 bar
5 bar
6 bar
7 bar
8 bar
9 bar
10 bar
11 foo
12 foo
13 foo
14 foo

** Hier werden die if-else-Anweisungen zwischen den for-print-Anweisungen vom ternären Operator zusammengefasst. ** ** **

Nest

if-elif-else-Anweisung

Wenn eine Bedingung hinzugefügt wird und sie kleiner als 0 ist, wird bei der Ausgabe von "foobar" "elif" hinzugefügt.

Dies gibt "'foo' aus, wenn es größer als 10 ist, 'foobar', wenn es kleiner als 0 ist, und 'bar' andernfalls."

if-Zwei oder mehr andere Anweisungsbedingungen


In [36]: for v in range(-5, 15, 1):
    ...:     if v > 10:
    ...:         p = 'foo'
    ...:     elif v < 0:
    ...:         p = 'foobar'
    ...:     else:
    ...:         p = 'bar'
    ...:     print(v, p)
    ...:
-5 foobar
-4 foobar
-3 foobar
-2 foobar
-1 foobar
0 bar
1 bar
2 bar
3 bar
4 bar
5 bar
6 bar
7 bar
8 bar
9 bar
10 bar
11 foo
12 foo
13 foo
14 foo

Verschachtelung von ternären Operatoren

Die Syntax zum Verschachteln von ternären Operatoren lautet

(Variable) = (Wert, wenn die Bedingung wahr ist) if (Bedingungen) else (BedingungenがFalseのときの値) if (Bedingungen) else (BedingungenがFalseのときの値) ...if-()-else-()Unendlich verbinden

Verschachtelter ternärer Operator


In [38]: for v in range(-5, 15, 1):
    ...:     p = 'foo' if v > 10 else 'foobar' if v < 0 else 'bar'
    ...:     print(v, p)
-5 foobar
-4 foobar
-3 foobar
-2 foobar
-1 foobar
0 bar
1 bar
2 bar
3 bar
4 bar
5 bar
6 bar
7 bar
8 bar
9 bar
10 bar
11 foo
12 foo
13 foo
14 foo

Referenz

Qiita - Interner Operator (Python)

Recommended Posts

Verschachteln ternärer Operatoren in Python
Verschachteln von ternären Python-Operatoren
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
# 3 [python3] Verschiedene Operatoren
Plink in Python
Konstante in Python
FizzBuzz in Python
Schritt AIC in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Trinity-Operator (Python)
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Täglicher AtCoder # 36 mit Python
Clustertext in Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python
Bearbeiten Sie Schriftarten in Python
Singleton-Muster in Python
Dateioperationen in Python
Lesen Sie DXF mit Python
Täglicher AtCoder # 53 in Python
Tastenanschlag in Python
Verwenden Sie config.ini mit Python
Löse ABC168D in Python
Täglicher AtCoder # 7 in Python
LU-Zerlegung in Python
Ein Liner in Python
Einfacher gRPC in Python