Itération sur des paires adjacentes dans une liste Python
De nombreux problèmes de programmation peuvent être résolus en itérant sur des paires d'éléments adjacents dans une séquence. Par exemple, vous devrez peut-être comparer des éléments consécutifs, les résumer ou effectuer une autre opération sur des valeurs voisines.
Considérez la liste de nombres suivante :
a = [5, 7, 11, 4, 5]
Vous souhaitez itérer sur cette liste de manière à vous permettre d'accéder aux éléments consécutifs par paire. Python ne fournit pas de moyen intégré pour ce faire, mais cela peut être réalisé en utilisant la fonction zip :
for previous, current in zip(a, a[1:]): print(previous, current)
La fonction zip prend plusieurs itérables (tels que des listes ou des tuples) et renvoie un nouveau itérable qui contient des tuples d'éléments correspondants à chaque itérable d'entrée. Dans ce cas, nous compressons la liste originale a avec une copie d'elle-même à partir du deuxième élément (a[1:]). Cela nous donne des paires d'éléments consécutifs de la liste d'origine.
La sortie du code ci-dessus sera :
5 7 7 11 11 4 4 5
Notez que cette technique fonctionne même si la liste est vide ou n'a que un élément. Dans de tels cas, zip renverra un itérable vide et le code à l'intérieur de la boucle for ne s'exécutera jamais.
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!