Maison >développement back-end >Tutoriel Python >Comment parcourir deux listes en parallèle en Python ?

Comment parcourir deux listes en parallèle en Python ?

DDD
DDDoriginal
2024-12-22 11:28:10188parcourir

How Do I Iterate Through Two Lists in Parallel in Python?

Comment parcourir deux listes en parallèle

Étant donné deux listes, une tâche courante consiste à les parcourir par paires. Bien que l'itération sur les indices soit une approche réalisable, ce n'est peut-être pas la solution la plus pythonique.

Solution Python 3

Dans Python 3, la fonction zip() renvoie un itérateur de tuples, ce qui en fait un moyen efficace et concis de parcourir plusieurs itérables en parallèle. La syntaxe est la suivante :

for element_1, element_2 in zip(iterable_1, iterable_2):
    ...
for f, b in zip(foo, bar):
    print(f, b)

Solution Python 2

Dans Python 2, zip() renvoie une liste de tuples, ce qui peut être inefficace pour les grands ensembles de données. Pour éviter de créer des variables temporaires inutiles, envisagez plutôt d'utiliser itertools.izip() pour un itérateur :

import itertools
for f, b in itertools.izip(foo, bar):
    print(f, b)

Si vous le souhaitez, itertools.izip_longest() peut être utilisé pour itérer jusqu'à ce que les deux itérables soient épuisés, en remplissant les champs manquants. valeurs avec la valeur de remplissage spécifiée (ou Aucune par défaut).

Points clés

  • Le La fonction zip() peut parcourir plusieurs itérables simultanément.
  • Dans Python 3, zip() renvoie un itérateur de tuples.
  • Dans Python 2, zip() renvoie une liste de tuples, tandis que itertools.izip() et itertools.izip_longest() fournissent des itérateurs pour plus d'efficacité.

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!

Déclaration:
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