Python zip() Funktion
Beschreibung
zip()Die Funktion nimmt iterierbare Objekte als Parameter, packt die entsprechenden Elemente in den Objekten nacheinander in Tupel und gibt dann eine Liste zurück, die aus diesen Tupeln besteht.
Wenn die Anzahl der Elemente in jedem Iterator nicht übereinstimmt, entspricht die Länge der zurückgegebenen Liste der des kürzesten Objekts. Mit dem *-Operator können Tupel in Listen entpackt werden.
Der Unterschied zwischen der zip-Methode in Python 2 und Python 3: In Python 3.x gibt zip() ein Objekt zurück, um den Speicherverbrauch zu reduzieren. Um eine Liste anzuzeigen, müssen Sie sie manuell mit list() konvertieren.
Wenn Sie die Anwendung von Python 3 verstehen möchten, können Sie sich aufPython3 zip() beziehen。
Syntax
zip-Syntax:
zip([iterable, ...])
Parameter description:
- iterable -- ein oder mehrere Iteratoren;
Rückgabewert
Gibt eine Liste von Tupeln zurück.
Beispiele
Die folgenden zwei Beispiele zeigen jeweilsPython2.xundPython3.x zipdie Verwendung von:
Beispiel (Python 2.0+)
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # In eine Liste von Tupeln packen
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # Die Anzahl der Elemente ist dieselbe wie bei der kürzesten Liste
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # Im Gegensatz zu zip kann *zipped als Entpacken verstanden werden und gibt ein zweidimensionales Matrixformat zurück
[(1, 2, 3), (4, 5, 6)]
Beispiel (Python 3.0+)
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # Gibt ein Objekt zurück
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped) # list() konvertiert zu einer Liste
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c)) # Die Anzahl der Elemente ist dieselbe wie die der kürzesten Liste
[(1, 4), (2, 5), (3, 6)]
>>> a1, a2 = zip(*zip(a,b)) # Im Gegensatz zu zip kann zip(*) als Entpacken verstanden werden und gibt ein zweidimensionales Matrixformat zurück
>>> Liste(a1)
[1, 2, 3]
>>> Liste(a2)
[4, 5, 6]
>>>
Python Built-in-Funktionen