English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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)
Parameter | Beschreibung |
---|---|
iterables | Kann eingebettete iterierbare Elemente sein (z.B. Liste, String, Dictionary) oder benutzerdefinierte iterierbare Elemente |
Empfohlene Lektüre: Python-Iterator, __iter__ und __next__
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.
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')}
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)
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)