Maison > développement back-end > Tutoriel Python > Comment puis-je diviser une liste Python en morceaux de taille égale ?

Comment puis-je diviser une liste Python en morceaux de taille égale ?

Mary-Kate Olsen
Libérer: 2024-12-21 05:54:08
original
862 Les gens l'ont consulté

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

Diviser les listes en morceaux de taille égale

Diviser une longue liste en segments de taille égale peut être une exigence courante dans la programmation Python. Les méthodes suivantes montrent comment y parvenir.

Solution basée sur un générateur :

Une option pratique consiste à utiliser une fonction de générateur qui produit des morceaux de la taille souhaitée. Voici la mise en œuvre :

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

Exemple :

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

Sortie :

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

Approche de compréhension de liste :

Bien que moins lisible que la solution basée sur les fonctions, une ligne unique utilisant la compréhension de liste est également possible :

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

Pour la compatibilité Python 2, remplacez range par xrange.

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