Itérateurs pour les paires d'éléments de liste consécutives
Étant donné une liste d'éléments, vous devrez peut-être parcourir des paires consécutives d'éléments dans la liste. Bien qu'il soit possible d'utiliser une boucle for pour parcourir la liste un élément à la fois et récupérer manuellement l'élément consécutif, il existe un moyen plus compact et plus efficace d'y parvenir en utilisant les itérateurs Python.
La fonction zip()
La fonction zip() de Python est un itérateur intégré qui permet la création de tuples à partir d'éléments correspondants de plusieurs itérables. Dans ce cas, nous pouvons utiliser zip() pour créer des tuples d'éléments de liste consécutifs. Par exemple :
l = [1, 7, 3, 5] for first, second in zip(l, l[1:]): print(first, second)
Ce code affichera :
1 7 7 3 3 5
La fonction zip() prend deux arguments : le premier est la liste d'origine et le second est la liste avec le premier élément supprimé (obtenu en utilisant l[1:]). Il combine ensuite les éléments correspondants en tuples, créant un itérateur sur ces tuples.
Utilisation d'itertools.izip()
Pour les utilisateurs de Python 2, le module itertools fournit une alternative fonction appelée izip(). Cette fonction est similaire à zip(), mais elle renvoie un objet izip qui peut être évalué paresseusement et ne nécessite pas la création d'une nouvelle liste en mémoire. Cependant, il est recommandé d'utiliser zip() dans Python 3 car il est plus efficace et plus facile à utiliser.
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!