Utilisation des itérateurs intégrés
Glissez pour afficher le menu
Python propose plusieurs itérateurs intégrés qui permettent de traiter des collections de manière expressive et efficace en mémoire. Trois des plus couramment utilisés sont enumerate, zip et map.
enumeratepermet de parcourir une séquence tout en gardant la trace à la fois de l'indice et de la valeur de chaque élément ;zippermet d'itérer sur plusieurs séquences en parallèle, en associant les éléments entre eux ;- Rappelons que
mapest une fonction d'ordre supérieur — un concept déjà utilisé précédemment pour appliquer des opérations aux données. Ici, nous réexaminons cet outil à travers le protocole des itérateurs. Plutôt que de le voir simplement comme un moyen de traiter une liste, nous le considérons désormais comme un objet spécialisé qui produit des résultats à la demande, transformant ainsi notre compréhension demapd'un outil fonctionnel statique en un flux dynamique et économe en mémoire.
Ces itérateurs sont précieux pour des tâches telles que le traitement de listes parallèles, la transformation de données et l'écriture de boucles concises. Comme montré dans la vidéo, leur bonne utilisation peut simplifier le code et réduire les erreurs, en particulier lors du traitement de grands ensembles de données ou de données complexes.
123456# Using enumerate and zip to process two lists in parallel names = ["Alice", "Bob", "Charlie"] scores = [85, 92, 78] for idx, (name, score) in enumerate(zip(names, scores), start=1): print(f"{idx}. {name} scored {score}")
Dans ce code, zip(names, scores) associe chaque nom à son score correspondant, créant un itérateur de tuples comme ("Alice", 85). L'utilisation de enumerate ajoute un compteur commençant à 1, de sorte que chaque itération fournit l'indice, le nom et le score. La boucle affiche le nom et le score de chaque étudiant, précédés de leur position dans la liste. Cette approche est à la fois concise et lisible, illustrant comment les itérateurs intégrés simplifient le travail avec plusieurs séquences.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion