Maison > développement back-end > Tutoriel Python > Comment puis-je parcourir efficacement une liste Python en morceaux ?

Comment puis-je parcourir efficacement une liste Python en morceaux ?

Susan Sarandon
Libérer: 2024-12-19 19:36:10
original
331 Les gens l'ont consulté

How Can I Efficiently Iterate Over a Python List in Chunks?

Itérer sur des listes Python en morceaux : solutions pythoniques

Dans cet article, nous explorons les moyens de parcourir des listes Python en morceaux, où chaque morceau se compose d’un nombre spécifique d’éléments. La situation donnée implique de travailler avec quatre entiers à la fois.

Approche conventionnelle

Le segment de code fourni décrit une approche de style C pour segmenter la liste :

for i in range(0, len(ints), 4):
    # dummy op for example code
    foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]
Copier après la connexion

Bien que cette méthode soit fonctionnelle, elle peut ne pas correspondre au langage idiomatique de Python principes.

Solutions Pythoniques

1. Utilisation de la fonction chunker

Depuis Python 3.12, Python a introduit la fonction chunker, qui fournit un moyen concis et efficace de fragmenter n'importe quelle séquence :

def chunker(seq, size):
    return (seq[pos:pos + size] for pos in range(0, len(seq), size))
Copier après la connexion

Cette fonction crée un générateur qui produit des morceaux de la taille spécifiée à partir de la séquence donnée. Le code suivant présente l'utilisation :

for group in chunker(text, 7):
    print(repr(group),)
Copier après la connexion

2. Utilisation d'itertools.islice

Pour les versions Python antérieures à 3.12, itertools.islice peut être utilisé pour le chunking :

from itertools import islice

def grouper(seq, size):
    it = iter(seq)
    while True:
        chunk = list(islice(it, size))
        if not chunk:
            return
        yield chunk
Copier après la connexion

Cette fonction crée de la même manière un générateur, qui produit des listes d'éléments de la séquence.

Conclusion

La fonction chunker fournit une solution native et efficace pour segmenter les listes dans Python 3.12 et versions ultérieures. Pour les versions antérieures, la fonction groupeur offre une alternative adaptée. Ces méthodes permettent un code plus concis et idiomatique lorsque vous travaillez avec de grandes listes.

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