Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Liste in Python in gleich große Blöcke unterteilen?

Wie kann ich eine Liste in Python in gleich große Blöcke unterteilen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-24 04:33:17172Durchsuche

How Can I Divide a List into Equally-Sized Chunks in Python?

Gleich große Blöcke aus Listen beliebiger Länge

Das Aufteilen einer Liste in gleich große Segmente kann ein wertvoller Vorgang für die Datenverarbeitung sein. Dieser Artikel stellt eine kurze Anleitung zur Lösung dieser Aufgabe in Python dar.

Verwendung eines benutzerdefinierten Generators

Ein vielseitiger Ansatz besteht darin, einen Generator zu verwenden, der gleichmäßig große Blöcke liefert:

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 es zu demonstrieren Verwendung:

pprint.pprint(list(chunks(range(10, 75), 10)))

Ausgabe:

[[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]]

Variante des Listenverständnisses

Alternativ kann eine einzeilige Lösung mit Listenverständnis verwendet werden eingesetzt werden:

[lst[i:i + n] for i in range(0, len(lst), n)]

Für verbesserten Code wird jedoch die Verwendung benannter Funktionen empfohlen Lesbarkeit.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste in Python in gleich große Blöcke unterteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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