Aplatir une liste de listes selon une condition
Résolu
sara91h
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
sara91h Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
sara91h Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je débute en Python et je n'arrive pas à réaliser l'opération suivante pour aplatir une liste des listes :
Exemple:
Si
L = [ [ [X1] , [1,2,3] ],
[ [X1] , [1,1,2] ],
[ [X1], [1,1,1] ],
[ [X2], [1,1,2] ],
[ [X2], [2,1,3] ],
[ [X3], [2,2,2] ] ]
J'aimerai avoir la résultat suivante :
L = [ [ [X1], [1,2,3], [1,1,2], [1,1,1] ],
[ [X2], [1,1,2], [2,1,3] ],
[ [X3], [2,2,2] ] ]
c'est à dire regrouper les élements de X1 ensemble, X2 ensemble, X3 aussi dans une même sous liste.
Je vous remercie par avance
Je débute en Python et je n'arrive pas à réaliser l'opération suivante pour aplatir une liste des listes :
Exemple:
Si
L = [ [ [X1] , [1,2,3] ],
[ [X1] , [1,1,2] ],
[ [X1], [1,1,1] ],
[ [X2], [1,1,2] ],
[ [X2], [2,1,3] ],
[ [X3], [2,2,2] ] ]
J'aimerai avoir la résultat suivante :
L = [ [ [X1], [1,2,3], [1,1,2], [1,1,1] ],
[ [X2], [1,1,2], [2,1,3] ],
[ [X3], [2,2,2] ] ]
c'est à dire regrouper les élements de X1 ensemble, X2 ensemble, X3 aussi dans une même sous liste.
Je vous remercie par avance
A voir également:
- Aplatir une liste de listes selon une condition
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Excel cellule couleur si condition texte - Guide
- Site dangereux liste - Guide
3 réponses
Bonjour, essaye :
# a ajuster en fonction des besoins liste_indices = [["X1"],["X2"],["X3"]] liste_indices_traites = [] liste_temp = [] liste_fin = [] for i in liste: if (i[0] in liste_indices) and (i[0] not in liste_indices_traites): liste_indices_traites.append(i[0]) liste_fin.append(liste_temp) liste_temp = [i[0],i[1]] else: liste_temp = liste_temp + [i[1]] liste_fin.append(liste_temp) del liste_fin[0]