Regrouper les éléments d'une liste [Résolu/Fermé]

Signaler
-
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
-
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

Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
119
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 80117 internautes nous ont dit merci ce mois-ci


>>> 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)]
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.

Eh bien tu tries ta liste avec la méthode sort, puis tu refais ce que je t'ai montré précédemment.