So vereinen (zippen) Sie zwei Listen in Python

Von Fabian
Kategorie: Python
Tags: Operationen
Lesezeit: 2 Minuten

Oft möchten Sie möglicherweise zwei Listen in Python vereinen (oder „zusammenführen“). Glücklicherweise ist dies mit der Funktion zip() einfach zu bewerkstelligen.

Dieses Tutorial zeigt einige Beispiele für die praktische Verwendung dieser Funktion.

Beispiel 1: Zip zwei Listen gleicher Länge in eine Liste

Die folgende Syntax zeigt, wie zwei gleich lange Listen zu einer Liste zusammengefasst werden:

# Liste a definieren und Liste b
a = ['a', 'b', 'c']
b = [1, 2, 3]

#Zippen Sie die beiden Listen zusammen zu einer Liste
list(zip(a, b))

[('a', 1), ('b', 2), ('c', 3)]

Beispiel 2: Zipen Sie zwei gleich lange Listen in ein Dict

Die folgende Syntax zeigt, wie zwei Listen gleicher Länge in einem Dict zusammengefasst werden:

# Liste der Schlüssel und Liste der Werte definieren
keys = ['a', 'b', 'c']
values = [1, 2, 3]

#Zippen Sie die beiden Listen zusammen in ein Dict
dict(zip(keys, values)) 

{'a': 1, 'b': 2, 'c': 3}

Beispiel 3: Zip Zwei Listen ungleicher Länge

Wenn Ihre beiden Listen ungleich lang sind, wird zip() auf die Länge der kürzesten Liste gekürzt:

# Liste a definieren und Liste b
a = ['a', 'b', 'c', 'd']
b = [1, 2, 3]

#Zippen Sie die beiden Listen zusammen zu einer Liste
list(zip(a, b))

[('a', 1), ('b', 2), ('c', 3)]

Wenn Sie verhindern möchten, dass zip() auf die Länge der kürzesten Liste gekürzt wird, können Sie stattdessen die Funktion zip_longest() aus der itertools-Bibliothek verwenden.

Standardmäßig gibt diese Funktion für fehlende Werte den Wert "Keine" ein:

from itertools import zip_longest

# Liste a definieren und Liste b
a = ['a', 'b', 'c', 'd']
b = [1, 2, 3]

# Zippen Sie die beiden Listen zusammen, ohne sie auf die Länge der kürzesten Liste zu kürzen
list(zip_longest(a, b))

[('a', 1), ('b', 2), ('c', 3), ('d', None)]

Sie können jedoch das Argument fillvalue verwenden, um einen anderen zu verwendenden Füllwert anzugeben:

# Liste a definieren und Liste b
a = ['a', 'b', 'c', 'd']
b = [1, 2, 3]

#Zippen Sie die beiden Listen zusammen mit dem Füllwert '0'.
list(zip_longest(a, b, fillvalue=0))

[('a', 1), ('b', 2), ('c', 3), ('d', 0)]

Die vollständige Dokumentation zur Funktion zip_longest() finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: