Comment trier un dictionnaire par clé en Python
-
Dictionnaire de tri Python par clé avec la méthode
dict.keys()
-
Dictionnaire de tri Python par clé avec la méthode
dict.items()
-
Dictionnaire Python de tri par clé avec la méthode
OrderedDict()
- Trier le dictionnaire en ordre inverse en Python
-
Dictionnaire de tri Python avec la méthode de fonction personnalisée
key
Le dictionnaire Python est le même que la table de hachage qui conserve les entrées en évaluant les hachages de clés, et la séquence des entrées est impossible à anticiper. Cet article présentera comment trier le dictionnaire par clé en Python.
Dictionnaire de tri Python par clé avec la méthode dict.keys()
Prenons l’exemple du dictionnaire ci-dessous.
dict = {"hello": 56, "at": 23, "test": 43, "this": 43}
La sortie du dict.keys()
est
dict_keys(["hello", "at", "test", "this"])
Nous pourrions créer un nouveau dictionnaire ordonné à partir de cette liste de clés non ordonnée.
sorted(dict.keys())
Production:
['at', 'hello', 'test', 'this']
Nous appliquons de manière répétée le tri sur cette liste ordonnée en sélectionnant chaque entrée du dictionnaire.
for key in sorted(dict.keys()):
print(key, " :: ", dict[key])
Production:
at :: 23
hello :: 56
test :: 43
this :: 43
Dictionnaire de tri Python par clé avec la méthode dict.items()
Nous pouvons également trier un dictionnaire par clé en Python avec la méthode dict.items()
.
Cela générera une liste qui contiendra des paires clé-valeur?
dict.items()
Production:
dict_items([('hello', 56), ('at', 23), ('test', 43), ('this', 43)])
Nous pourrions faire une liste ordonnée par la fonction suivante. Elle triera les entrées du dictionnaire en fonction des valeurs clés.
sorted(dict.keys())
Production:
['at', 'hello', 'test', 'this']
Maintenant, pour produire la paire clé-valeur de tri du dictionnaire, nous utilisons le code suivant.
for elem in sorted(dict.items()):
print(elem[0], " ::", elem[1])
Production:
at :: 23
hello :: 56
test :: 43
this :: 43
En termes de complexité, il est plus puissant que l’approche précédente. Comme nous n’avons pas besoin de vérifier la valeur clé après avoir trié la liste itérable, comme dans dict.key()
.
Dictionnaire Python de tri par clé avec la méthode OrderedDict()
Nous pouvons également trier les éléments du dictionnaire par valeur clé en utilisant le module collections
.
import collections
d = {2: 13, 1: 9, 4: 25, 3: 0}
result = collections.OrderedDict(sorted(d.items()))
print(result)
Production:
OrderedDict([(1, 9), (2, 13), (3, 0), (4, 25)])
Trier le dictionnaire en ordre inverse en Python
Auparavant, nous classions les éléments du dictionnaire par ordre croissant. Maintenant, nous discutons des moyens de trier les éléments du dictionnaire par ordre décroissant.
La syntaxe est:
sorted(iterable_sequence, reverse=True)
Le code suivant a trié et inversé les éléments du dictionnaire.
dict = {"hello": 56, "at": 23, "test": 43, "this": 43}
for elem in sorted(dict.items(), reverse=True):
print(elem[0], " ::", elem[1])
Le paramètre reverse=true
permet de s’assurer que le dictionnaire trié est inversé.
Production:
this :: 43
test :: 43
hello :: 56
at :: 23
Dictionnaire de tri Python avec la méthode de fonction personnalisée key
Cette méthode permet de trier les éléments du dictionnaire en utilisant la longueur de la chaîne key
.
sorted(iterable_sequence, key=Function)
La fonction lambda
qui retourne la taille de la chaîne est donnée au paramètre key
.
listofTuples = sorted(dict.items() , key=lambda x: len (x[0] ) )
for elem in listofTuples :
print(elem[0] , " ::" , elem[1] )
Production:
at :: 23
test :: 43
this :: 43
hello :: 56
Article connexe - Python Dictionary
- Comment vérifier si une clé existe dans un dictionnaire en Python
- Convertir un dictionnaire en liste en Python
- Comment obtenir tous les fichiers d'un répertoire
- Comment trouver la valeur maximale dans le dictionnaire Python
- Comment trier un dictionnaire Python par valeur
- Comment fusionner deux dictionnaires en Python 2 et 3