Regrouper les éléments d'une liste

Résolu
Bonjour,
J'ai une liste de x éléments et je voudrais les regrouper deux par deux.Quelqu'un sait comment faire?
Merci

4 réponses

  1. >>> liste
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
    >>> [(liste[i], liste[i+1]) for i in range(len(liste)-1) if i%2==0]
    [(0, 1), (2, 3), (4, 5), (6, 7), (8, 9), (10, 11), (12, 13), (14, 15)]
    1. Merci,j'ai essayé et ça me les classe 2 par 2 en suivant l'ordre de la liste.
      Sauf que mais ma liste contient des élements qui ne sont pas dans l'ordre et le but c'est de classer à chaque fois les deux plus proches.
      1. Eh bien tu tries ta liste avec la méthode sort, puis tu refais ce que je t'ai montré précédemment.
        1. li = [50,4,12,3,65,89,0,45,755,13,8,1000,6,79,10,47]

          li.sort()

          it = iter(li)
          itn = it.next

          print [(x,itn()) for x in it]