Bonjour.
J'utilise python, mais je suis d�butante.
Svp, j'ai un dictionnaire, je veux le trier
Est ce que c'est vrai que c'est impossible de le faire directement, et je dois pass� par une liste ou tableau.
Merci pour tout aide.
Bonjour.
J'utilise python, mais je suis d�butante.
Svp, j'ai un dictionnaire, je veux le trier
Est ce que c'est vrai que c'est impossible de le faire directement, et je dois pass� par une liste ou tableau.
Merci pour tout aide.
j'ai oubli� un petit d�tail,
je veux trier le dictionnaire par ordre croissants des valeurs.
Ex: dic= {'xxxx': 24, yyyyy': 7, 'zzzzzz': 1}
Je veux qu'il affiche {'zzzzzz': 1, yyyyy': 7,'xxxx': 24}
Merci
Je ne suis pas sur mais il ne me semble pas que cela soit possible
Sinon tu peux transformer ton dico en liste
Exemple :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 >>> dic {24: 'xxxx', 1: 'zzzzzz', 7: 'yyyyy'} >>> dic.items() #transforme ton dico en type list, tu pourras donc trier [(24, 'xxxx'), (1, 'zzzzzz'), (7, 'yyyyy')] #le resultat pour que tu comprennes >>> list=dic.items() #j'affecte à une variable le resultat >>> list.sort() #tri de la liste >>> list #affichage de la liste [(1, 'zzzzzz'), (7, 'yyyyy'), (24, 'xxxx')]![]()
Effectivement, il n'est pas possible de trier un dictionnaire.
Pour trier par valeur, plut�t que par cl�:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 >>> dic ={'xxxx': 24, 'yyyyy': 7, 'zzzzzz': 1} >>> from operator import itemgetter >>> l = dic.items() >>> l.sort(key=itemgetter(1)) >>> l [('zzzzzz', 1), ('yyyyy', 7), ('xxxx', 24)] >>> #ou en une ligne: >>> sorted(dic.items(),key=itemgetter(1)) [('zzzzzz', 1), ('yyyyy', 7), ('xxxx', 24)]
Grand merci.
�a marche tr�s bien.
Et si je veux tri� on ordre d�croissant j'utilise quelle fonction?
J'ai trouv�, il faut modifi� l'instruction comme ceci :
l.sort(key=itemgetter(1),reverse=True)
Merci
Quelque chose comme cela devrait convenir (si le but est uniquement de faire de l'affichage):
Thierry
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 for key in reversed(sorted(dic)): print "%s: %d" % (key, dic[key])
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Partager