Heim > Backend-Entwicklung > Python-Tutorial > Warum gibt „zip()' in Python eine Liste mit 20 Tupeln zurück, wenn drei Listen kombiniert werden?

Warum gibt „zip()' in Python eine Liste mit 20 Tupeln zurück, wenn drei Listen kombiniert werden?

Susan Sarandon
Freigeben: 2024-12-15 17:18:11
Original
131 Leute haben es durchsucht

Why Does `zip()` in Python Return a List of 20 Tuples When Combining Three Lists?

Verstehen der Funktionalität von Zip-Listen in Python

Bei der Python-Programmierung spielt die Funktion zip() eine entscheidende Rolle beim Kombinieren mehrerer Listen zu einer einzigen Liste von Tupeln. Jedes Tupel stellt eine Zeile dar und paart entsprechende Elemente aus den Eingabelisten.

Betrachten Sie den folgenden Codeausschnitt:

x1, x2, x3 = stuff.calculations(withdataa)

zipall = zip(x1, x2, x3)

print("len of zipall %s" % len(zipall))
Nach dem Login kopieren

Im Gegensatz zum erwarteten Ergebnis von drei ist die Ausgabe 20, was auf eine Grundfunktion hinweist Missverständnis.

Enthüllung der Natur komprimierter Listen

Wenn Sie drei Listen mit zippen Jeweils 20 Elemente, die resultierende Liste enthält 20 Tupel. Jedes Tupel enthält drei Elemente, eines aus jeder der Eingabelisten.

Zum Beispiel:

In [1]: a = b = c = range(20)

In [2]: zip(a, b, c)
Out[2]:
[(0, 0, 0),
 (1, 1, 1),
 ...
 (17, 17, 17),
 (18, 18, 18),
 (19, 19, 19)]
Nach dem Login kopieren

Bestimmen der Tupellänge

Um die Länge jedes Tupels zu bestimmen, müssen Sie kann das erste Element untersuchen:

In [3]: result = zip(a, b, c)

In [4]: len(result[0])
Out[4]: 3
Nach dem Login kopieren

Dieser Ansatz kann jedoch fehlschlagen, wenn die Eingabelisten leer sind. Daher ist es am besten, eine robustere Methode zu verwenden, um die Anzahl der Elemente in jedem Tupel zu bestimmen.

Das obige ist der detaillierte Inhalt vonWarum gibt „zip()' in Python eine Liste mit 20 Tupeln zurück, wenn drei Listen kombiniert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage