Mit der Einschlussnotation können Sie Listen-, Satz- und Wörterbuchdatenoperationen in einer kurzen Anzahl von Zeilen schreiben. Es beschleunigt auch die Verarbeitung. Verwenden Sie diese Option, wenn Sie eine große Anzahl von Elementen haben.
Führen Sie zunächst das Programm aus, das die folgende Listeneinschlussnotation verwendet.
list_comprehension1.py
result = [x**2 for x in [1, 2, 3, 4, 5]]
print("{0}".format(result))
x ** 2 bedeutet "x im Quadrat" und das Listenergebnis enthält die folgenden Werte.
[1, 4, 9, 16, 25]
Wenn Sie die Listeneinschlussnotation nicht verwenden, kann das obige Programm wie folgt ersetzt werden.
list_comprehension2.py
result = []
for i in [1, 2, 3, 4, 5]:
result.append(i**2)
print("{0}".format(result))
** [** * Wert, der in das Element eingefügt werden soll (unter Verwendung der Variablen) * ** für ** * Variable * ** in ** * Liste * **] **
Listen können Daten vom Listentyp wie Programme verwenden, und range () kann auch wie range (1,6) verwendet werden.
In der Listeneinschlussnotation können Sie die zu verarbeitenden Elemente und die nicht zu verarbeitenden Elemente in den Elementen der Liste angeben.
list_comprehension3.py
print("{0}".format( [x*10+1 for x in range(1,6) if x > 2 and x < 5]))
Das Ausgabeergebnis ist wie folgt.
[31, 41]
Da die Listeneinschlussnotation eine Liste zurückgibt, ist es natürlich möglich, die Listeneinschlussnotation direkt der Druckanweisung zuzuweisen. Wenn Sie die Listeneinschlussnotation nicht verwenden, kann das obige Programm wie folgt ersetzt werden.
list_comprehension4.py
result = []
for x in range(1,6):
if x > 2 and x < 5:
result.append(x*10+1)
print("{0}".format(result))
** [** * Wert, der in das Element eingefügt werden soll (unter Verwendung der Variablen) * ** für ** * Variable * ** in ** * Liste * * Bedingung * **] **
Die Einschlussnotation kann auch als Satz verwendet werden. Die Verwendung entspricht der Listeneinschlussnotation.
set_comprehension.py
print("{0}".format( {x*10+1 for x in range(1,6) if x > 2 and x < 5}))
Das Ausgabeergebnis ist wie folgt. set([41, 31])
Das Trennen von Schlüsseln und Werten mit: und das Einschließen von Schlüsseln: Werten mit {} ist dasselbe wie in einem normalen Wörterbuch. Die Verwendung entspricht der Liste.
dictionary_comprehension.py
print("{0}".format( {str(x):x**2 for x in range(1,6)}))
Der gleiche Vorgang kann ohne Verwendung der Einschlussnotation durchgeführt werden, es kann jedoch ein einfacher und schneller Betrieb erreicht werden. Ein guter Quellcode wird erstellt, wenn Sie ihn unter Berücksichtigung der Einschlussnotation verwenden.
Weiter: Python-Grundkurs (11 Ausnahmen)
Recommended Posts