Maison >développement back-end >Tutoriel Python >Comment diviser une liste en parties presque égales en Python ?
Diviser une liste en parties presque égales
Diviser une liste en parties égales est une tâche courante en programmation. La méthode chunks() intégrée à Python offre un moyen de diviser une liste en morceaux de taille égale, mais que se passe-t-il si vous souhaitez plutôt diviser la liste en parties à peu près égales ?
Une approche pour y parvenir consiste à utilisez un générateur de liste :
def split(a, n): k, m = divmod(len(a), n) return (a[i*k+min(i, m):(i+1)*k+min(i+1, m)] for i in range(n))
Voici comment cela fonctionne :
Exemple :
>>> list(split(range(11), 3)) [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
Ce code divise une liste de longueur 11 en 3 parties, ce qui donne des parties avec 4, 4 et 3 éléments, respectivement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!