English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python Grund教程

Python Flow Control

Python Funktion

Python Datentypen

Python Dateioperationen

Python Objekte und Klassen

Python Datum und Zeit

Python fortgeschrittene Kenntnisse

Python Referenzhandbuch

Verwendung und Beispiel von Python zip()

Python-eingebaute Funktionen

Die zip()-Funktion akzeptiert iterierbare Elemente (kann null oder mehr sein), aggregiert sie in einen Tupel und gibt ihn zurück.

Syntax der zip()-Funktion:

zip(*iterables)

zip() Parameter

ParameterBeschreibung
iterablesKann eingebettete iterierbare Elemente sein (z.B. Liste, String, Dictionary) oder benutzerdefinierte iterierbare Elemente

Empfohlene Lektüre: Python-Iterator, __iter__ und __next__

zip() Rückgabewert

Die zip()-Funktion gibt einen Iterator von Tupeln basierend auf iterierbaren Objekten zurück.

  • Wenn keine Parameter übergeben werden, gibt zip() einen leeren Iterator zurück

  • Wenn ein einzelnes iterable übergeben wird, gibt zip() einen Iterator von Tupeln zurück, bei dem jeder Tupel nur ein Element hat.

  • Wenn mehrere Iterable übergeben werden, gibt zip() einen Iterator von Tupeln zurück, bei dem jeder Tupel Elemente aus allen Iterable hat.
    Angenommen, es werden zwei iterierbare Variablen an zip() übergeben; ein iterierbares Objekt mit drei Elementen und ein anderes mit fünf Elementen. Der zurückgegebene Iterator enthält dann drei Tupel. Dies liegt daran, dass der Iterator stoppt, wenn der kürzeste iterierbare Kontext erschöpft ist.

Beispiel1Python zip()

number_list = [1, 2, 3]
str_list = ['one', 'two', 'three']
# Ohne iterable-Parameter
result = zip()
# Um den Iterator in eine Liste zu konvertieren
result_list = list(result)
print(result_list)
# Zwei iterable
result = zip(number_list, str_list)
# Iteratoren in ein Set umwandeln
result_set = set(result)
print(result_set)

Ausgabefolge

[]
{(2, 'two'), (3, 'three'), (1, 'one')}

Beispiel2:Verschiedene Anzahl von iterierbaren Elementen

numbersList = [1, 2, 3]
str_list = ['one', 'two']
numbers_tuple = ('ONE', 'TWO', 'THREE', 'FOUR')
# Beachten Sie, dass numbersList und numbers_tuple in der Größe unterschiedlich sind
result = zip(numbersList, numbers_tuple)
# In ein Set umwandeln
result_set = set(result)
print(result_set)
result = zip(numbersList, str_list, numbers_tuple)
# In ein Set umwandeln
result_set = set(result)
print(result_set)

Ausgabefolge

{(2, 'TWO'), (3, 'THREE'), (1, 'ONE')}
{(2, 'two', 'TWO'), (1, 'one', 'ONE')}

Operator*kann mit zip() zusammen verwendet werden, um Listen zu entpacken.

zip(*zippedList)

Beispiel3:Verwenden Sie zip() zum Entpacken von Werten

coordinate = ['x', 'y', 'z']
value = [3, 4, 5]
result = zip(coordinate, value)
result_list = list(result)
print(result_list)
c, v = zip(*result_list
print('c =', c)
print('v =', v)

Ausgabefolge

[('x', 3), ('y', 4), ('z', 5)]
c = ('x', 'y', 'z')
v = (3, 4, 5)

Python-eingebaute Funktionen