Heim > Backend-Entwicklung > Python-Tutorial > Detaillierte Erläuterung des Listenverständnisses in Python

Detaillierte Erläuterung des Listenverständnisses in Python

WBOY
Freigeben: 2023-06-11 09:01:36
Original
14455 Leute haben es durchsucht

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)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Nach dem Login kopieren

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)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Nach dem Login kopieren

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)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

['hello', 'world', 'python', 'comprehension', 'study']
Nach dem Login kopieren

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)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

[1, 2, 3, 2, 4, 6, 3, 6, 9]
Nach dem Login kopieren

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)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

[1, 2, 3]
[2, 4, 6]
[3, 6, 9]
Nach dem Login kopieren

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)
Nach dem Login kopieren

Die Ausgabeergebnisse sind:

[1, 3, 5, 7, 9]
[2, 4, 6, 8, 10]
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage