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]
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)))
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]]
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)]
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!