logo

Python | Trier les dictionnaires Python par clé ou valeur

Il y a deux éléments dans un dictionnaire Python : clés et valeurs. Vous pouvez trier le dictionnaire par clés, valeurs ou les deux. Dans cet article, nous aborderons les méthodes de tri des dictionnaires par clé ou valeur en utilisant Python .

Besoin d'un dictionnaire de tri en Python

Nous avons besoin de trier les données pour réduire la complexité des données et rendre les requêtes plus rapides et plus efficaces. Le tri est très important lorsque nous traitons une grande quantité de données.



Nous pouvons trier un dictionnaire par valeurs en utilisant ces méthodes :

  • Tout d'abord, triez les clés par ordre alphabétique en utilisant valeur clé. iterkeys() fonction.
  • Deuxièmement, triez les clés par ordre alphabétique en utilisant le trié (valeur_clé) fonction & imprimer la valeur qui lui correspond.
  • Troisièmement, triez les valeurs par ordre alphabétique en utilisant valeur clé. articles() , clé = lambda (k, v) : (v, k))

Trier les dictionnaires Python par exemples de clé ou de valeur

Voici les principales tâches à effectuer pour trier un dictionnaire par valeur et clés en Python.

  1. Créer un dictionnaire et afficher ses touches de liste par ordre alphabétique.
  2. Affichez à la fois les clés et les valeurs, triées par clé par ordre alphabétique.
  3. Enfin, affichez à la fois les clés et les valeurs, triées par valeur par ordre alphabétique.

Exemple 1 : Trier le dictionnaire par clé

Dans cet exemple, nous trierons le dictionnaire par clés et le type de résultat sera un dictionnaire.



Python3






myDict>=> {>'ravi'>:>10>,>'rajnish'>:>9>,> >'sanjeev'>:>15>,>'yash'>:>2>,>'suraj'>:>32>}> myKeys>=> list>(myDict.keys())> myKeys.sort()> sorted_dict>=> {i: myDict[i]>for> i>in> myKeys}> print>(sorted_dict)>

>

>

Sortir

{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2}>

Exemple 2 : Afficher les clés dans l'ordre trié

Dans cet exemple, nous essayons de trier le dictionnaire par clés et valeurs en Python. Ici, iterkeys() renvoie un itérateur sur les clés du dictionnaire.

Python3




# Function calling> def> dictionary():> ># Declare hash function> >key_value>=> {}> # Initializing value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> >print>(>'Task 1:- '>)> >print>(>'key_value'>, key_value)> ># iterkeys() returns an iterator over the> ># dictionary’s keys.> >for> i>in> sorted>(key_value.keys()):> >print>(i, end>=>' '>)> def> main():> ># function calling> >dictionary()> # Main function calling> if> __name__>=>=> '__main__'>:> >main()>

>

>

Sortir

Task 1:- key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} 1 2 3 4 5 6>

Exemple 3 : Tri du dictionnaire par clé

Dans cet exemple, nous trierons par ordre lexicographique en prenant le type de clé sous forme de chaîne.

Python3




java faire pendant l'exemple

# Creates a sorted dictionary (sorted by key)> from> collections>import> OrderedDict> dict> => {>'ravi'>:>'10'>,>'rajnish'>:>'9'>,> >'sanjeev'>:>'15'>,>'yash'>:>'2'>,>'suraj'>:>'32'>}> dict1>=> OrderedDict(>sorted>(>dict>.items()))> print>(dict1)>

>

>

Sortir

OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')])>

Exemple 4 : Tri des clés et des valeurs par ordre alphabétique à l'aide de la clé

Dans cet exemple, nous essayons de trier le dictionnaire par clés et valeurs en Python. Ici, nous utilisons un itérateur sur la valeur du dictionnaire pour trier les clés.

Python3




# function calling> def> dictionairy():> ># Declaring the hash function> >key_value>=> {}> # Initialize value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> > >print>(>'key_value'>,key_value)> >print>(>'Task 2:- Keys and Values sorted in'>,> >'alphabetical order by the key '>)> > ># sorted(key_value) returns a sorted list> ># of the Dictionary’s keys.> >for> i>in> sorted>(key_value):> >print>((i, key_value[i]), end>=>' '>)> def> main():> ># function calling> >dictionairy()> # main function calling> if> __name__>=>=> '__main__'>:> >main()>

>

>

Sortir

key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 2:- Keys and Values sorted in alphabetical order by the key (1, 2) (2, 56) (3, 323) (4, 24) (5, 12) (6, 18)>

Exemple 5 : Tri des clés et des valeurs par ordre alphabétique à l'aide de la valeur

Dans cet exemple, nous essayons de trier le dictionnaire par clés et valeurs en Python. Ici, nous utilisons le tri par ordre lexicographique.

Python3




# Function calling> def> dictionairy():> ># Declaring hash function> >key_value>=> {}> # Initializing the value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> > >print>(>'key_value'>,key_value)> >print>(>'Task 3:- Keys and Values sorted'>,> >'in alphabetical order by the value'>)> ># Note that it will sort in lexicographical order> ># For mathematical way, change it to float> >print>(>sorted>(key_value.items(), key>=>lambda> kv:> >(kv[>1>], kv[>0>])))> def> main():> ># function calling> >dictionairy()> # main function calling> if> __name__>=>=> '__main__'>:> >main()>

>

>

Sortir

key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 3:- Keys and Values sorted in alphabetical order by the value [(1, 2), (5, 12), (6, 18), (4, 24), (2, 56), (3, 323)]>

La complexité temporelle de ce programme est O(n log n), où n est le nombre de paires clé-valeur dans le dictionnaire.

La complexité de l'espace auxiliaire pour ce programme est également O(n), où n est le nombre de paires clé-valeur dans le dictionnaire.

Exemple 6 : Trier le dictionnaire par valeur

Dans cet exemple, nous essayons de trier le dictionnaire par valeurs en Python. Ici, nous utilisons la compréhension du dictionnaire pour trier nos valeurs.

Python3

index de la liste




# Creates a sorted dictionary (sorted by key)> from> collections>import> OrderedDict> import> numpy as np> dict> => {>'ravi'>:>10>,>'rajnish'>:>9>,> >'sanjeev'>:>15>,>'yash'>:>2>,>'suraj'>:>32>}> print>(>dict>)> keys>=> list>(>dict>.keys())> values>=> list>(>dict>.values())> sorted_value_index>=> np.argsort(values)> sorted_dict>=> {keys[i]: values[i]>for> i>in> sorted_value_index}> print>(sorted_dict)>

>

>

Sortir:

{'ravi': 10, 'rajnish': 9, 'sanjeev': 15, 'yash': 2, 'suraj': 32} {'ravi': 2, 'rajnish': 9, 'sanjeev': 10, 'yash': 15, 'suraj': 32}>

Complexité temporelle : O(n log n), où n est le nombre d'éléments dans le dictionnaire.
Espace auxiliaire : O(n), car nous créons de nouvelles listes de clés et de valeurs, et créons un nouveau dictionnaire avec le même nombre d'entrées que le dictionnaire d'origine.

Nous avons couvert différents exemples basés sur le tri du dictionnaire par clé ou valeur. La lecture et la pratique de ces codes Python vous aideront à comprendre le tri dans les dictionnaires Python.

Vous pouvez facilement trier les valeurs des dictionnaires par clé ou valeur.

Lectures similaires :

  • Trier un dictionnaire
  • Différentes façons de trier le dictionnaire par valeurs et inversement
  • Différentes façons de trier le dictionnaire par clés et inversement
  • Façons de trier la liste des dictionnaires par valeurs
  • Trier la liste des clés et valeurs du dictionnaire