Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Zip-Funktion von Python auf die Länge des längsten Iterables auffüllen?

Wie kann ich die Zip-Funktion von Python auf die Länge des längsten Iterables auffüllen?

Patricia Arquette
Freigeben: 2024-11-26 10:49:09
Original
225 Leute haben es durchsucht

How Can I Pad Python's Zip Function to the Length of the Longest Iterable?

Zip to Pad auf maximale Länge erweitern

Zip ist eine integrierte Funktion in Python, die mehrere Iterables kombiniert. Es stoppt jedoch bei der Länge des kürzesten Itables. Was ist, wenn wir die Ergebnisse auffüllen möchten, um sie an die Länge der längsten Iteration anzupassen?

Lösung

In Python 3 stellt itertools.zip_longest diese Funktionalität bereit. Es wertet alle Iterables aus und füllt standardmäßig mit None auf, wobei die Ausrichtung beibehalten wird.

a = ['a1']
b = ['b1', 'b2', 'b3']
c = ['c1', 'c2']

list(itertools.zip_longest(a, b, c))

# [('a1', 'b1', 'c1'), (None, 'b2', 'c2'), (None, 'b3', None)]
Nach dem Login kopieren

Sie können den Füllwert mithilfe des Fillvalue-Parameters anpassen:

list(itertools.zip_longest(a, b, c, fillvalue='foo'))

# [('a1', 'b1', 'c1'), ('foo', 'b2', 'c2'), ('foo', 'b3', 'foo')]
Nach dem Login kopieren

Für Python 2 ist dies möglich Verwenden Sie itertools.izip_longest (Python 2.6) oder ordnen Sie mit None:

a = ['a1']
b = ['b1', 'b2', 'b3']
c = ['c1', 'c2']

map(None, a, b, c)

# [('a1', 'b1', 'c1'), (None, 'b2', 'c2'), (None, 'b3', None)]
Nach dem Login kopieren
zu

Das obige ist der detaillierte Inhalt vonWie kann ich die Zip-Funktion von Python auf die Länge des längsten Iterables auffüllen?. 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