Regrouper les éléments d'une liste

Résolu
lalaline -  
heyquem Messages postés 808 Statut Membre -
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. heyquem Messages postés 808 Statut Membre 131
     
    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]
    1
  2. Utilisateur anonyme
     
    >>> 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)]
    0
  3. lalaline
     
    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.
    0
  4. Utilisateur anonyme
     
    Eh bien tu tries ta liste avec la méthode sort, puis tu refais ce que je t'ai montré précédemment.
    0