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

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

Mary-Kate Olsen
Freigeben: 2024-12-21 05:54:08
Original
862 Leute haben es durchsucht

How Can I Split a Python List into Equally Sized Chunks?

Aufteilen von Listen in Stücke gleicher Größe

Das Aufteilen einer umfangreichen Liste in gleich große Segmente kann eine häufige Anforderung in der Python-Programmierung sein. Die folgenden Methoden zeigen, wie dies erreicht werden kann.

Generatorbasierte Lösung:

Eine praktische Option ist die Verwendung einer Generatorfunktion, die Stücke der gewünschten Größe liefert. Hier ist die Implementierung:

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

Beispiel:

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

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]]
Nach dem Login kopieren

Listenverständnis-Ansatz:

Während weniger lesbar als Bei der funktionsbasierten Lösung ist auch ein Einzeiler mit Listenverständnis möglich:

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

Für Python 2-Kompatibilität ersetzen Sie range durch xrange.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Python-Liste in gleich große Blöcke aufteilen?. 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