Petite question super basique sur laquelle je m'arrache les cheveux :

Peut-on générer une liste par compréhension en ajoutant des éléments 2 par 2 (n par n) ?
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
>>> [ a for a in xrange( 5 )]
[0, 1, 2, 3, 4]
 
>>> [ (a,a+1) for a in xrange( 5 )]
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]
 
>>> [ a,a+1 for a in xrange( 5 )]
  File "<stdin>", line 1
    [ a,a+1 for a in xrange( 5 )]
              ^
SyntaxError: invalid syntax
Première ligne : génération en ajoutant les éléments 1 par 1 : OK
Deuxième ligne : génération en ajoutant les éléments 2-uplet par 2-uplet : OK
Troisième ligne : génération en ajoutant les éléments 2 par 2 : fail !
Mais comment obtenir [0, 1, 1, 2, 2, 3, 3, 4, 4, 5] (par compréhension de liste bien sûr) ?

Merci d'avance !