logo

Comment trier un dictionnaire en Python

Le dictionnaire Python est la collection de données stockées sous la forme clé-valeur. Chaque clé est associée à sa valeur. Il est de nature mutable, ce qui signifie que nous pouvons modifier les données après leur création.

Il s'agit de la collecte désordonnée des données et permet de stocker des valeurs en double, mais la clé doit être unique.

vba

Le dictionnaire est déclaré à l'aide d'accolades {} et la paire clé-valeur est séparée par une virgule.

 dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1) 

Sortir:

Pourquoi faut-il trier le dictionnaire

  • La complexité du temps de recherche de la liste est O(n) et le dictionnaire a une complexité du temps de recherche 0(1), ce qui fait que le dictionnaire est plus rapide que la liste. Le dictionnaire peut être utilisé sur place pour la liste chaque fois que nécessaire.
  • Le tri nous permet d'analyser efficacement les données lorsque nous travaillons avec la structure des données.
  • Un dictionnaire trié permet une meilleure compréhension pour gérer les opérations complexes.

Comprenons les différentes manières de trier le dictionnaire.

  • Tri par clés
  • Tri par valeurs
  • Algorithme de tri
  • Inverser l'ordre de tri

Tri par clés et valeurs

Python propose les fonctions de touches intégrées key() et values() pour trier le dictionnaire. Il prend n'importe quel itérable comme argument et renvoie la liste triée des clés. Nous pouvons utiliser les clés pour trier le dictionnaire par ordre croissant. Comprenons l'exemple suivant.

Exemple -

 names = {1:'Alice' ,2:'John' ,4:'Peter' ,3:'Andrew' ,6:'Ruffalo' ,5:'Chris' } #print a sorted list of the keys print(sorted(names.keys())) #print the sorted list with items. print(sorted(names.items())) 

Sortir:

 [1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')] 

Explication -

Dans le code ci-dessus, nous avons déclaré un dictionnaire des noms . Nous avons utilisé la fonction intégrée avec le trié() fonction qui a renvoyé la liste des clés triées. Ensuite, nous avons utilisé le articles() fonction pour obtenir le dictionnaire dans l’ordre trié.

Algorithme de tri

Il existe différents algorithmes de tri pour trier un dictionnaire ; nous pouvons utiliser d'autres arguments dans la méthode sorted. Comprenons l'exemple suivant.

Exemple -

 daynames = { 'one' : 'Monday' , 'six' : 'Saturday' ,'three' : 'Wednesday' , 'two' : 'Tuesday' , 'five': 'Friday' , 'seven': 'Sunday' } print(daynames) number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7} print(sorted(daynames , key=number.__getitem__)) print([daynames[i] for i in sorted(daynames , key=number.__getitem__)]) 

Sortir:

 {'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday'] 

Inverser l'ordre de tri

Le dictionnaire peut être inversé en utilisant le inverse argument. Comprenons l'exemple suivant.

Exemple -

 a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True)) 

Sortir:

 [6, 5, 4, 3, 2, 1] 

Dans ce didacticiel, nous avons expliqué comment trier le dictionnaire en Python. Un dictionnaire trié permet de gérer facilement une grande quantité de données et nous donne un résultat de recherche rapide.