Wie kann ich Listen ungleicher Länge durch Wiederholen der kürzeren komprimieren?

DDD
Freigeben: 2024-10-27 19:18:01
Original
282 Leute haben es durchsucht

How Can I Zip Unequal Length Lists by Repeating the Shorter One?

Verschieden große Listen durch Wiederholen der kürzeren komprimieren

Beim Versuch, zwei Listen mit ungleicher Länge zu komprimieren, stürzt die integrierte Zip-Funktion ab kurz, indem die kürzere Liste nicht wiederholt wird, damit sie mit der größeren übereinstimmt. Um dies zu überwinden, sind alternative Ansätze erforderlich.

Lösung mit itertools.cycle

Die Funktion itertools.cycle bietet die Möglichkeit, endlos über ein Iterable zu iterieren. Diese Funktion kann genutzt werden, um die kürzere Liste auf unbestimmte Zeit zu wiederholen und sie gleichzeitig mit der längeren Liste zu komprimieren.

Implementierung:

<code class="python">import itertools

A = [1, 2, 3, 4, 5, 6, 7, 8, 9]
B = ["A", "B", "C"]

zip_list = zip(A, itertools.cycle(B)) if len(A) > len(B) else zip(itertools.cycle(A), B)</code>
Nach dem Login kopieren

In dieser Lösung verwenden wir eine Bedingung Anweisung, um zu bestimmen, welche Liste wiederholt werden soll. Wenn A länger als B ist, verwenden wir itertools.cycle, um B zu wiederholen, und wenn B länger als A ist, wiederholen wir A.

Die resultierende zip_list enthält Tupel, die Elemente von A und B paaren, wobei B ist Wird nach Bedarf wiederholt, um der Länge von A zu entsprechen. Dieser Ansatz stellt sicher, dass alle Elemente aus beiden Listen gepaart werden, wobei die kürzere Liste nach Bedarf wiederholt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Listen ungleicher Länge durch Wiederholen der kürzeren komprimieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!