Heim > Artikel > Backend-Entwicklung > Wie komprimiere ich Listen unterschiedlicher Größe in Python mithilfe der Iterationswiederholung?
Wenn Sie mit Listen unterschiedlicher Länge arbeiten, kann das Zusammenpacken dieser Listen eine Herausforderung darstellen. Die Standardfunktion zip() in Python paart Elemente aus der kürzeren Liste mit denen aus der längeren Liste, wobei die übrigen Elemente aus der längeren Liste ungepaart bleiben. Um diese Einschränkung zu beheben, können wir die Leistungsfähigkeit der Iterationswiederholung nutzen.
Eine effektive Möglichkeit, die kürzere Liste zu wiederholen, ist die Verwendung der Funktion itertools.cycle. Diese Funktion erstellt einen Iterator, der die Elemente eines Iterables auch nach Erschöpfung endlos durchläuft. Indem wir den Zyklus in unseren Komprimierungsvorgang integrieren, können wir sicherstellen, dass sich die kürzere Liste wiederholt, bis die längere Liste vollständig abgedeckt ist.
Die Verwendung von itertools.cycle zum Komprimieren unterschiedlich großer Listen ist unkompliziert . Der folgende Codeausschnitt demonstriert seine Implementierung:
<code class="python">import itertools A = [1, 2, 3, 4, 5, 6, 7, 8, 9] B = ["A", "B", "C"] from itertools import cycle zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B) for item in zip_list: print(item)</code>
Die Ausführung des bereitgestellten Codes erzeugt die folgende Ausgabe:
(1, 'A') (2, 'B') (3, 'C') (4, 'A') (5, 'B') (6, 'C') (7, 'A') (8, 'B') (9, 'C')
Wie wir beobachten können, je kürzer Liste B wiederholt sich, bis alle Elemente aus der längeren Liste A gepaart sind. Diese nahtlose Wiederholung stellt sicher, dass keine Elemente ungepaart bleiben, sodass wir Vorgänge für ganze Listen ohne Datenverlust ausführen können.
Das obige ist der detaillierte Inhalt vonWie komprimiere ich Listen unterschiedlicher Größe in Python mithilfe der Iterationswiederholung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!