La fonction de tri peut être utilisée pour trier la liste par ordre croissant et décroissant. Il peut être utilisé pour trier des listes d'entiers, de nombres à virgule flottante, de chaînes et autres dans Python . Sa complexité temporelle est O(NlogN).
Syntaxe Python sort()
La syntaxe de la fonction sort() en Python est la suivante.
Syntaxe: list_name.sort(key=…, reverse=…)
Paramètres:
Par défaut, Python sort() ne nécessite aucun paramètre supplémentaire et trie la liste par ordre croissant. Cependant, il possède deux paramètres facultatifs :
- clé: fonction qui sert de clé pour la comparaison de tri
- inverse: Si c'est vrai, la liste est triée par ordre décroissant.
Valeur de retour : Le sort() ne renvoie rien mais modifie la liste d'origine en fonction du paramètre passé.
Qu'est-ce que la fonction Python sort() ?
En Python, lesort()>function est une méthode qui appartient à la liste . Il permet de trier en python ou les éléments d'une liste par ordre croissant par défaut. Lesort()>La méthode modifie la liste d'origine sur place, ce qui signifie qu'elle réorganise les éléments directement dans l'objet de liste existant, plutôt que de créer une nouvelle liste triée.
Sort() dans les exemples Python
Un exemple de base de la méthode Python sort().
chaîne dans un tableau java
Exemple : Dans cet exemple, le code ci-dessous définit une liste nomméeunsorted_list>avec des éléments numériques. Lesort()>La méthode est ensuite appliquée à la liste, qui réorganise ses éléments par ordre croissant. La liste triée est ensuite imprimée, affichant le résultat de l'opération de tri.
Python3
unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)> |
>
>
Sortir:
Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>
Différentes façons de trier() en Python
En Python,sort()>est une méthode intégrée utilisée pour trier les éléments d'une liste par ordre croissant. Il modifie la liste d'origine sur place, ce qui signifie qu'il réorganise les éléments directement dans la liste sans créer de nouvelle liste. Lesort()>la méthode ne renvoie aucune valeur ; il trie simplement la liste et la met à jour.
- Tri Liste par ordre croissant
- Tri Liste par ordre décroissant
- Trier avec fonction personnalisée Utilisation de la clé
- Tri Liste des chaînes par longueur
- Tri de la liste de Tuples par un élément spécifique
- Tri de la liste de Dictionnaires par une clé spécifique
Sort() en Python en utilisant la liste de tri par ordre croissant
La méthode `sort()` en Python est utilisée pour trier une liste d'éléments par ordre croissant. Il modifie la liste originale sur place, en réorganisant ses éléments dans un ordre numérique ou lexicographique croissant. La méthode s'applique aux listes contenant des valeurs numériques, des chaînes ou une combinaison des deux. Par défaut, le sort() en Python trie une liste par ordre croissant si nous ne lui fournissons aucun paramètre.
Exemple : Dans cet exemple, le code ci-dessous montre les opérations de tri sur différents types de listes. Tout d'abord, il trie une liste d'entiers (« nombres ») par ordre croissant à l'aide de la méthode « sort() ». Ensuite, il trie une liste de nombres à virgule flottante (« nombre décimal ») par ordre croissant.
Python3
# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort()> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort()> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort()> print>(words)> |
>
>
Sortir:
[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>
Sort() en Python en utilisant la liste de tri par ordre décroissant
Pour trier une liste par ordre décroissant, définissez le paramètre reverse sur True de la fonction sort() en Python.
my_list.sort(reverse=True)>
Exemple : je Dans cet exemple de code définit trois listes de types différents (entiers, nombres à virgule flottante et chaînes), les trie par ordre décroissant à l'aide de la méthode `sort` avec le paramètre `reverse=True`, puis imprime les listes triées.
Python3
# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort(reverse>=>True>)> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort(reverse>=>True>)> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort(reverse>=>True>)> print>(words)> |
>
>
Sortir:
[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>
Trier avec une fonction personnalisée à l'aide de la clé
Dans cette méthode décrit une opération de tri avec une fonction personnalisée utilisant le paramètre key. Cela permet un tri basé sur un critère spécifique défini par la fonction personnalisée plutôt que sur l'ordre par défaut. La fonction personnalisée est appliquée à chaque élément et la liste est triée en conséquence.
Exemple : Dans cet exemple, le code définit une fonction `sortSecond` qui renvoie le deuxième élément d'un tuple. Il crée ensuite une liste de tuples, « list1 », et la trie par ordre croissant en fonction du deuxième élément à l'aide de la fonction « sortSecond ».
Python3
def> sortSecond(val):> >return> val[>1>]> # list1 to demonstrate the use of sorting> # using second key> list1>=> [(>1>,>2>),(>3>,>3>),(>1>,>1>)]> # sorts the array in ascending according to> # second element> list1.sort(key>=>sortSecond)> print>(list1)> # sorts the array in descending according to> # second element> list1.sort(key>=>sortSecond,reverse>=>True>)> print>(list1)> |
>
>
Sortir:
[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>
Tri de la liste des chaînes par longueur dans Sort() en Python
Dans cette méthode, nous trions une liste de chaînes par ordre croissant de leurs longueurs en utilisant la fonction `sort()` avec `key=len`. Cela signifie que les chaînes sont classées de la longueur la plus courte à la plus longue dans la liste triée résultante.
Exemple : Dans cet exemple, le code ci-dessous définit une liste de chaînes,words>, puis le trie en fonction de la longueur de chaque chaîne à l'aide dulen()>fonctionnent comme la clé de tri. Enfin, il imprime la liste triée.
Python3
# Original list of strings> words>=> [>'apple'>,>'banana'>,>'kiwi'>,>'orange'>,>'grape'>]> # Sorting by length using the len() function as the key> words.sort(key>=>len>)> # Displaying the sorted list> print>(>'Sorted by Length:'>, words)> |
>
>
Sortir :
Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>
Tri de la liste des tuples par un élément spécifique
Pour trier une liste de tuples par élément spécifique, utilisez la fonction `sort()` avec le paramètre `key`. Spécifiez une fonction lambda comme clé, ciblant l'index de l'élément souhaité. Les tuples seront triés en fonction des valeurs de cet élément spécifique.
Exemple : Dans cette méthode, le code définit une liste de tuples nommés « personnes », où chaque tuple représente le nom et l'âge d'une personne. Il trie ensuite la liste en fonction du deuxième élément de chaque tuple (âge) en utilisant lesort>méthode et une fonction lambda comme clé de tri.
Python3
# Original list of tuples> people>=> [(>'Alice'>,>25>), (>'Bob'>,>30>), (>'Charlie'>,>22>), (>'David'>,>28>)]> # Sorting by the second element of each tuple (age)> people.sort(key>=>lambda> x: x[>1>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, people)> |
>
>
Sortir :
Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]> Tri de la liste des dictionnaires par une clé spécifique
Cette méthode implique d'utiliser la fonction `sort()` sur une liste de dictionnaires en Python. En spécifiant une fonction lambda comme paramètre de clé, vous pouvez trier la liste en fonction d'une clé spécifique dans chaque dictionnaire. Cela permet de classer la liste des dictionnaires par ordre croissant selon les valeurs associées à la clé choisie.
Exemple : Dans cet exemple, le code définit une liste de dictionnaires appeléestudents>, où chaque dictionnaire représente un élève avec des clés de nom et d'âge. Il trie ensuite la liste des dictionnaires en fonction de la clé d'âge dans chaque dictionnaire en utilisant lesort>méthode et une fonction lambda comme clé.
Python3
# Original list of dictionaries> students>=> [> >{>'name'>:>'Alice'>,>'age'>:>25>},> >{>'name'>:>'Bob'>,>'age'>:>30>},> >{>'name'>:>'Charlie'>,>'age'>:>22>},> >{>'name'>:>'David'>,>'age'>:>28>},> ]> # Sorting by the 'age' key in each dictionary> students.sort(key>=>lambda> x: x[>'age'>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, students)> |
>
>
Sortir :
Sorted by Age: [ {'name': 'Charlie', 'age': 22}, {'name': 'Alice', 'age': 25}, {'name': 'David', 'age': 28}, {'name': 'Bob', 'age': 30} ]> Différence entre les fonctions sorted() et sort() en Python
Voyons la différence entre le trié() et la fonction sort() en Python :
| Python trié() | Tri Python() |
|---|---|
| La fonction sorted() renvoie une liste triée de l'objet itérable spécifique. | La méthode sort() trie la liste. |
| Nous pouvons spécifier l'ordre croissant ou décroissant en utilisant la fonction sorted() | Il trie la liste par ordre croissant par défaut. |
| Syntaxe : trié (itérable, clé = clé, inverse = inverse) | Syntaxe : list.sort(reverse=True|False, key=myFunc) |
| Son type de retour est une liste triée. | Nous pouvons également l'utiliser pour trier une liste par ordre décroissant. |
| Peut être utilisé avec n'importe quel itérable, même si la comparaison entre les éléments n'est pas définie | Nécessite que les éléments soient comparables en utilisant le |
| Maintient l'ordre relatif des éléments égaux, le rendant stable. | Peut ne pas être stable ; l'ordre des éléments égaux peut changer. |
| O(n log n) complexité temporelle pour la plupart des cas. | O(n log n) complexité temporelle pour la plupart des cas. |
| Il ne peut trier qu'une liste contenant un seul type de valeur. | Il trie la liste sur place. |
| Prend en charge un | Prend également en charge un |
| Nécessite de la mémoire supplémentaire pour la nouvelle liste triée. | Effectue le tri sur place, économisant ainsi la mémoire. |
Pour en savoir plus, veuillez vous référer Différence Python entre les fonctions sorted() et sort() .