Regrouper les éléments d'une liste

Résolu/Fermé
lalaline - 23 déc. 2013 à 21:02
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 - 24 déc. 2013 à 15:25
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

heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 130
24 déc. 2013 à 15:25
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
Utilisateur anonyme
23 déc. 2013 à 21:08
>>> 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
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
Utilisateur anonyme
23 déc. 2013 à 23:02
Eh bien tu tries ta liste avec la méthode sort, puis tu refais ce que je t'ai montré précédemment.
0