Python sort() premier élément de la liste
J'ai une liste qui contient non la quantité spécifique d'éléments, mais chaque premier élément de la liste imbriquée est un identificateur, je voudrais utiliser cet identifiant pour trier la liste dans l'ordre
list = [['D', 'F', 'E', 'D', 'F', 'D'],['A', 'F', 'E', 'C', 'F', 'E'],['C', 'E', 'E', 'F', 'E', 'E'],['B', 'F', 'E', 'D', 'F', 'F']]
Après sa triés
list = [['A', 'F', 'E', 'C', 'F', 'E'],['B', 'F', 'E', 'D', 'F', 'F'],['C', 'E', 'E', 'F', 'E', 'E'],['D', 'F', 'E', 'D', 'F', 'D']]
Je suis à l'aide de python 3.3.3
Vous souhaitez trier les listes basées sur le premier élément dans la liste? Avez-vous essayez d'utiliser une fonction clé pour la liste méthode sort ()?
J'ai une liste qui contient non la quantité spécifique d'éléments, mais chaque premier élément de la liste imbriquée est un identificateur, je voudrais utiliser cet identifiant pour trier la liste dans l'ordre
Comme je l'ai mentionné dans ma réponse, ne pas remplacer le haut-constructeur,
J'ai une liste qui contient non la quantité spécifique d'éléments, mais chaque premier élément de la liste imbriquée est un identificateur, je voudrais utiliser cet identifiant pour trier la liste dans l'ordre
Comme je l'ai mentionné dans ma réponse, ne pas remplacer le haut-constructeur,
list
. stackoverflow.com/questions/21068315/...
OriginalL'auteur DaveDave | 2014-01-11
Vous devez vous connecter pour publier un commentaire.
Python trie automatiquement les listes de listes par le premier élément. Par exemple:
OriginalL'auteur Dan
Vous souhaitez utiliser
.sort()
ousorted
:Notez également que votre liste de besoins des virgules entre ses éléments. Voici le résultat pour
sorted
:Comme vous pouvez le voir, le dernier exemple de trier les listes sans aucun argument clé. L'exemple précédent peut ainsi; mais vous mentionner que seul le premier élément est un identificateur unique, donc il n'y a aucun moyen de savoir ce que les critères secondaires peut-être pour le tri de la liste au-delà du premier élément.
OriginalL'auteur πόδας ὠκύς
lists.sort(key = lambda x: x[0])
Assurez-vous de mettre des virgules entre chaque liste dans le grand liste de.
OriginalL'auteur qwr
Essentiellement les mêmes que les autres, mais utilise l'opérateur.itemgetter(),
OriginalL'auteur wwii
Utiliser cette
Mise à JOUR
Il travaille pour 2,7 mais pas pour Python 3.3
Vous devez utiliser la réponse de @275365 dans ce cas
OriginalL'auteur Daniil Grankin
Vous ne devriez pas écraser le builtin liste de constructeur,
list
, utilisez un autre nom à la place comme ceci:Pour trier la liste en place, utilisez la
list.sort
méthode:La fonction intégrée,
sorted
, retourne une nouvelle liste, qui est quelque chose que vous n'avez pas l'air de vouloir le faire. Il retourne une nouvelle liste, qui, si vous n'avez plus besoin de l'ancienne liste des déchets de l'espace dans la mémoire.Python trie automatiquement sur le premier élément. Ensuite, il trie automatiquement sur la deuxième, troisième, et ainsi de suite. À l'aide de lambda comme d'autres ont suggéré voudrait dire que vous auriez trier uniquement sur le premier élément, et les éléments suivants seraient ignorés.
C'est pourquoi, le genre est décrit comme un tri stable
OriginalL'auteur Aaron Hall