Maison > développement back-end > Tutoriel Python > Comment diviser efficacement une liste en morceaux équilibrés en Python ?

Comment diviser efficacement une liste en morceaux équilibrés en Python ?

Mary-Kate Olsen
Libérer: 2024-12-28 19:33:10
original
408 Les gens l'ont consulté

How to Efficiently Divide a List into Balanced Chunks in Python?

Comment diviser une liste en portions équilibrées

La division d'une liste en morceaux de taille égale est essentielle dans divers scénarios de programmation. Python propose plusieurs méthodes pour accomplir cette tâche, offrant flexibilité et efficacité. Une approche populaire utilise une fonction génératrice.

Le générateur chunks(), introduit dans la réponse, vous permet de partitionner une liste en morceaux d'une taille spécifiée. Il parcourt la liste par étapes de la taille de morceau définie, produisant des morceaux consécutifs. Le code suivant montre comment utiliser le générateur chunks() :

def chunks(lst, n):
    """Yield successive n-sized chunks from lst."""
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
Copier après la connexion

Pour illustrer sa fonctionnalité, envisagez de diviser une liste d'entiers en morceaux de taille 10 :

import pprint
pprint.pprint(list(chunks(range(10, 75), 10)))
Copier après la connexion

Ce code produit le résultat suivant, présentant la liste divisée en morceaux de taille égale :

[[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]]
Copier après la connexion

Alors que l'approche du générateur est recommandé pour sa clarté et son efficacité, Python propose également une solution concise de compréhension de liste pour le segmentage de liste :

[lst[i:i + n] for i in range(0, len(lst), n)]
Copier après la connexion

N'oubliez pas que l'utilisation de fonctions nommées comme chunks() améliore la lisibilité et la maintenabilité du code.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal