Itérer sur toutes les paires d'éléments consécutifs dans une liste

Donné une liste

l = [1, 7, 3, 5]

Je veux effectuer une itération sur toutes les paires consécutives éléments de la liste de (1,7), (7,3), (3,5), c'est à dire

for i in xrange(len(l) - 1):
    x = l[i]
    y = l[i + 1]
    # do something

Je voudrais le faire de façon plus compacte, comme

for x, y in someiterator(l): ...

Est-il un moyen de faire cela à l'aide de Python itérateurs? Je suis sûr que le itertools module doit avoir une solution, mais je ne peux pas le comprendre.

  • Bien que je acceppted sberry réponse, comme je l'ai demandé un simple builtin à base de solution, pensez également à l'élégante et la plus performante des solutions par thefourtheye et HansZauber.
InformationsquelleAutor flonk | 2014-01-23