Notez que vous pouvez oublier comment trier lorsque vous êtes en compétition en Python3
Ci-dessous, puisque nous fonctionnons en mode interpréteur, pensez que celui avec «>>>>» au début de la ligne est l'entrée.
list.sort ()
trie la liste d'origine. La valeur de retour est "None"
>>>> list = [2, 3, 5, 1, 4]
>>>> list.sort()
>>>> list
[1, 2, 3, 4, 5]
sorted (list)
renvoie le résultat du tri sans changer la liste d'origine
>>>> list = [2, 3, 5, 1, 4]
>>>> sorted(list)
[1, 2, 3, 4, 5]
>>>> list
[2, 3, 5, 1, 4]
Ci-dessous, «list.sort ()» et «sorted (list)» utilisent les mêmes options, donc seul «sorted (list)» est géré.
Spécifiez éventuellement reverse = True
>>>> list = [2, 3, 5, 1, 4]
>>>> sorted(list)
[1, 2, 3, 4, 5]
>>>> sorted(list, reverse=True)
[5, 4, 3, 2, 1]
Si vous triez normalement, il triera dans l'ordre à partir de la colonne de gauche. Image comme ordre du dictionnaire
>>>> people = [('Bob', 12), ('Alice', 10), ('Chris', 8), ('Chris', 7)]
>>>> sorted(people)
[('Alice', 10), ('Bob', 12), ('Chris', 7), ('Chris', 8)]
Lorsque vous souhaitez utiliser uniquement la deuxième colonne pour le tri
>>>> sorted(people, key=lambda x:x[1])
[('Chris', 7), ('Chris', 8), ('Alice', 10), ('Bob', 12)]
Lorsque vous souhaitez utiliser les première et deuxième colonnes pour le tri
>>>> sorted(people, key=lambda x:(x[0], x[1]))
[('Alice', 10), ('Bob', 12), ('Chris', 7), ('Chris', 8)]
Si vous utilisez ʻitemgetter, ʻattrgetter
, vous n'avez pas besoin d'écrire une expression lambda, mais j'ai décidé de ne pas l'utiliser car j'en apprendrai plus.
Si vous souhaitez l'utiliser, veuillez le vérifier à partir du lien de référence.
https://docs.python.org/3/howto/sorting.html
Recommended Posts