Das Listenverständnis in Python ist eine praktische und schnelle Syntax, mit der schnell Listen generiert werden können. Seine grammatikalische Form ähnelt der Mengenableitung in der Mathematik, und auch seine Semantik ist ähnlich, was es leicht zu verstehen und zu verwenden macht. Das Listenverständnis in Python wird im Folgenden ausführlich vorgestellt.
1. Grundlegende grammatikalische Struktur
Die grundlegende grammatikalische Struktur der Listenableitung ist:
[Ausdruck für Element in iterierbarer if-Bedingung]
Unter diesen stellt Ausdruck den an der Listengenerierung beteiligten Ausdruck dar, der Variablen und Funktionsaufrufe umfassen kann und andere Operationen; item stellt die Elemente in der generierten Liste dar; iterable stellt iterierbare Objekte wie Listen, Tupel, Mengen usw. dar, die weggelassen werden können.
2. Häufige Verwendungsszenarien
1. Um eine Liste mit Ganzzahlen zwischen 1 und 10 zu generieren, können Sie beispielsweise den folgenden Code verwenden:
num_list = [i for i in range(1,11)] print(num_list)
Das Ausgabeergebnis lautet:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Verwenden Sie hier die Funktion range(), um einen ganzzahligen Iterator zwischen 1 und 10 zu generieren, und extrahieren Sie dann die Elemente einzeln durch Listenverständnis und bilden Sie eine Liste.
2. Erzeugen Sie eine quadratische Liste
Um beispielsweise eine quadratische Liste mit ganzen Zahlen zwischen 1 und 10 zu generieren, können Sie den folgenden Code verwenden:
square_list = [i**2 for i in range(1,11)] print(square_list)
Das Ausgabeergebnis lautet:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3 Beispiel aus einer Zeichenfolge: Um Zeichenfolgen mit einer Länge von mehr als 3 in der Liste herauszufiltern, können Sie den folgenden Code verwenden:
str_list = ['hello', 'world', 'python', 'list', 'comprehension', 'study'] new_list = [s for s in str_list if len(s) > 3] print(new_list)
Das Ausgabeergebnis lautet:
['hello', 'world', 'python', 'comprehension', 'study']
Hier wird eine if-Anweisung verwendet, um die Elemente bedingt zu filtern In die neue Liste können nur Zeichenfolgen mit einer Länge von mehr als 3 eingetragen werden.
4. Mehrere Schleifen
Zum Beispiel kann der folgende Code verwendet werden, um alle Produkte zwischen 1 und 9 zu generieren:
mul_list = [i*j for i in range(1,4) for j in range(1,4)] print(mul_list)
Das Ausgabeergebnis ist:
[1, 2, 3, 2, 4, 6, 3, 6, 9]
Die Multiplikationsoperation wird über zwei Schleifenebenen implementiert , i bzw. j Wenn 1, 2 und 3 genommen werden, bildet ihr Produkt das Element in der Liste.
3. Verschachtelte Listenverständnisse
Manchmal müssen Sie beim Generieren einer Liste komplexere Operationen an den Elementen ausführen. In diesem Fall können Sie verschachtelte Listenverständnisse verwenden. Verschachtelte Listenverständnisse sind wiederum verschachtelte Listenverständnisse auf der Grundlage von Listenverständnissen. Ihre grammatikalische Struktur ist:
[Ausdruck für Element in iterierbar, wenn Bedingung für Unterelement in Sub_iterable, wenn Unterbedingung]
wobei, Ausdruck, Element, Die Bedeutung von iterierbar und Die Bedingung stimmt mit der obigen grundlegenden Syntaxstruktur überein. sub_item stellt die Elemente dar, die basierend auf dem Durchlaufen des Elements erneut durchlaufen werden. sub_item stellt das Iterationsobjekt von sub_item dar. Sub_item stellt die Filterbedingungen für sub_item dar.
Im Folgenden sind einige gängige Beispiele für verschachtelte Listenverständnisse aufgeführt.
1. Erzeugen Sie eine quadratische Matrix
Um beispielsweise eine 3×3-Quadratmatrix zu generieren, können Sie den folgenden Code verwenden:
matrix = [[i*j for j in range(1,4)] for i in range(1,4)] for row in matrix: print(row)
Das Ausgabeergebnis lautet:
[1, 2, 3] [2, 4, 6] [3, 6, 9]
Hier werden zwei Ebenen der verschachtelten Ableitung verwendet, und Die äußere Ableitung erzeugt drei Listen, das innere Verständnis erzeugt drei Elemente in jeder Liste und bildet so eine 3×3-Quadratmatrix.
2. Ungerade und gerade Zahlen filtern
Um beispielsweise ungerade Zahlen und gerade Zahlen aus einer Liste von Ganzzahlen herauszufiltern, um jeweils zwei Listen zu bilden, können Sie den folgenden Code verwenden:
num_list = [1,2,3,4,5,6,7,8,9,10] odd_list = [i for i in num_list if i%2 == 1] even_list = [i for i in num_list if i%2 == 0] print(odd_list) print(even_list)
Die Ausgabeergebnisse sind:
[1, 3, 5, 7, 9] [2, 4, 6, 8, 10]
Hier werden zwei verschachtelte Listenverständnisse verwendet, die ungerade und gerade Elemente in der Originalliste herausfiltern.
4. Zusammenfassung
Listenverständnis ist eine der hervorragenden grammatikalischen Funktionen der Python-Sprache. Sie kann problemlos verschiedene Arten von Listen generieren und unterstützt auch erweiterte Funktionen wie Verschachtelung. Beim tatsächlichen Programmieren kann das Erlernen und Verwenden von Listenverständnissen die Effizienz und Lesbarkeit des Codeschreibens erheblich verbessern.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Listenverständnisses in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!