Heim > Backend-Entwicklung > Python-Tutorial > Wie teilt man eine Liste in Python effizient in ausgewogene Blöcke auf?

Wie teilt man eine Liste in Python effizient in ausgewogene Blöcke auf?

Mary-Kate Olsen
Freigeben: 2024-12-28 19:33:10
Original
396 Leute haben es durchsucht

How to Efficiently Divide a List into Balanced Chunks in Python?

So teilen Sie eine Liste in ausgewogene Teile auf

Das Aufteilen einer Liste in gleich große Teile ist in verschiedenen Programmierszenarien unerlässlich. Python bietet mehrere Methoden zur Bewältigung dieser Aufgabe und bietet Flexibilität und Effizienz. Ein beliebter Ansatz nutzt eine Generatorfunktion.

Der in der Antwort vorgestellte chunks()-Generator ermöglicht es Ihnen, eine Liste in Blöcke einer bestimmten Größe zu unterteilen. Es durchläuft die Liste in Schritten der definierten Blockgröße und ergibt aufeinanderfolgende Blöcke. Der folgende Code zeigt, wie der chunks()-Generator verwendet wird:

def chunks(lst, n):
    """Yield successive n-sized chunks from lst."""
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
Nach dem Login kopieren

Um seine Funktionalität zu veranschaulichen, sollten Sie erwägen, eine Liste von Ganzzahlen in Blöcke der Größe 10 aufzuteilen:

import pprint
pprint.pprint(list(chunks(range(10, 75), 10)))
Nach dem Login kopieren

Dieser Code erzeugt die folgende Ausgabe und zeigt die Liste in gleichmäßig große Teile unterteilt:

[[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
 [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
 [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
 [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
 [50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
 [60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
 [70, 71, 72, 73, 74]]
Nach dem Login kopieren

Während der Generatoransatz dafür empfohlen wird Dank der Klarheit und Effizienz bietet Python auch eine prägnante Lösung zum Listenverständnis für das Listen-Chunking:

[lst[i:i + n] for i in range(0, len(lst), n)]
Nach dem Login kopieren

Denken Sie daran, dass die Verwendung benannter Funktionen wie chunks() die Lesbarkeit und Wartbarkeit des Codes verbessert.

Das obige ist der detaillierte Inhalt vonWie teilt man eine Liste in Python effizient in ausgewogene Blöcke auf?. 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