Introduction
Les dictionnaires sont une structure de données fondamentale en Python qui vous permettent de stocker des paires clé-valeur. Cependant, parfois vous devrez peut-être trier un dictionnaire par ses valeurs plutôt que par ses clés. Dans ce défi, vous devrez créer une fonction qui trie un dictionnaire par ses valeurs.
Trier un dictionnaire
Écrivez une fonction appelée sort_dict_by_value(d, reverse=False) qui prend un dictionnaire d et le trie par ses valeurs. La fonction devrait renvoyer un nouveau dictionnaire avec les mêmes clés que le dictionnaire original, mais avec les valeurs triées par ordre croissant. Si le paramètre reverse est défini sur True, la fonction devrait trier le dictionnaire par ordre décroissant.
Pour résoudre ce problème, vous pouvez suivre ces étapes :
- Utilisez
dict.items()pour obtenir une liste de paires de tuples à partir ded. - Triez la liste à l'aide d'une fonction lambda et de
sorted(). - Utilisez
dict()pour convertir la liste triée en un dictionnaire. - Utilisez le paramètre
reversedanssorted()pour trier le dictionnaire dans l'ordre inverse, en fonction du second argument.
⚠️ ATTENTION : Les valeurs du dictionnaire doivent être du même type.
def sort_dict_by_value(d, reverse = False):
return dict(sorted(d.items(), key = lambda x: x[1], reverse = reverse))
d = {'one': 1, 'three': 3, 'five': 5, 'two': 2, 'four': 4}
sort_dict_by_value(d) ## {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5}
sort_dict_by_value(d, True)
## {'five': 5, 'four': 4, 'three': 3, 'two': 2, 'one': 1}
Résumé
Dans ce défi, vous avez appris à trier un dictionnaire par ses valeurs à l'aide de Python. Vous pouvez utiliser cette connaissance pour manipuler et analyser plus efficacement les données stockées dans des dictionnaires.