Dupliquer possible :
itérer une liste comme paire (actuelle, suivante) dans PythonEst-il possible d'itérer une liste de la manière suivante dans Python (traitez ce code comme un pseudo-code) ?
a = [5, 7, 11, 4, 5] for v, w in a: print [v, w]
Et il devrait produire
[5, 7] [7, 11] [11, 4] [4, 5]
Cette question a déjà des réponses:
Réponses
Trop de publicités?À partir des recettesitertools
:
from itertools import tee
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return zip(a, b)
for v, w in pairwise(a):
...
SanSS
Points
2834
Gabe
Points
49718
Presque mot à mot à partir d'itération sur paires dans une liste (mode circulaire) en Python :
def pairs(seq):
i = iter(seq)
prev = next(i)
for item in i:
yield prev, item
prev = item
ghostdog74
Points
86060