Heim >Backend-Entwicklung >Python-Tutorial >Wie teilt man eine Liste in nahezu gleiche Teile auf?

Wie teilt man eine Liste in nahezu gleiche Teile auf?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-13 04:24:02978Durchsuche

How to Split a List into Nearly Equal Parts?

Aufteilen einer Liste in gleiche Teile

Wenn Sie mit einer Liste von Elementen arbeiten, kann es notwendig sein, diese in kleinere, ungefähr gleiche Teile aufzuteilen Teile. Dies kann besonders für Aufgaben wie Datenverarbeitung, paralleles Rechnen oder verteilte Algorithmen nützlich sein. Hier ist eine Untersuchung einer Methode, um eine Liste effektiv in n Teile zu unterteilen.

Lösung:

Um eine nahezu gleichmäßige Aufteilung einer Liste in n Teile zu erreichen, gehen Sie wie folgt vor Schritte können unternommen werden:

  1. Berechnen Sie den Quotienten k und den Rest m, indem Sie die Länge der Liste durch dividieren n: k, m = divmod(len(a), n).
  2. Verwenden Sie einen Listengenerator, um die aufgeteilten Teile zu erhalten: (a[i*k min(i, m):(i 1)* k min(i 1, m)] für i im Bereich(n)).

Dieser Ansatz stellt sicher, dass die Teile nahezu gleichmäßig aufgeteilt sind, wobei die ersten m Teile ein zusätzliches Element enthalten als die übrigen n-m Teile.

Beispiel:

Um die Wirksamkeit dieser Methode zu veranschaulichen, betrachten Sie eine Liste mit 11 ganzen Zahlen: range(11). Das Teilen dieser Liste in drei Teile mithilfe der Split-Funktion führt zu folgendem Ergebnis:

>>> list(split(range(11), 3))

[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]

Wie zu beobachten ist, ist die Liste in drei Teile mit ungefähr gleicher Größe unterteilt, wobei der erste Teil vier Elemente enthält und der weitere zwei Teile mit jeweils drei Elementen.

Das obige ist der detaillierte Inhalt vonWie teilt man eine Liste in nahezu gleiche Teile auf?. 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