J'utilise Python 3.7 pour créer un dictionnaire et vouloir trier le dictionnaire par la valeur des touches.
Par exemple, j'ai un dictionnaire comme ceci: p>
mais je veux qu'il soit p> Je ne trouve que des moyens de trier les clés ou les valeurs, mais aucune solution pour trier la valeur de la valeur de clés. P> ** J'ai trouvé plusieurs questions aux touches de tri uniquement, mais Py3 les triera automatiquement dans l'ordre de "R_1", "R_10", "R_11", ..., "R_2". Ces questions sont différentes de celle-ci. P> p>
P>
3 Réponses :
OK. Je trouve le chemin le trier mais changera le dictionnaire à la liste. C'est:
Dict = sorted(Dict.items(), key = lambda kv:int(''.join(filter(str.isdigit, kv[0].split("_")[-1]))))
>>>x= sorted(Dict.items()) >>>x
Utiliser ordonnéDict code>:
Merci! Je suis presque en colère que certaines personnes n'ont pas lu la question avec précaution et ramassent l'erreur mineure plutôt que de répondre à ma question, mais votre réponse aime vraiment moi!
Salut @alice. Si vous croyez toujours que la question n'est pas une duplication, vous pouvez en discuter dans les commentaires sous la question. On dirait que les gens ont répondu à cela et croient que c'est encore un duplicata. Vous pouvez ping erreur - Syntaxtical remords code> sous la question, comme il / elle est un électeur proche.
Ce n'est pas dupliqué. Je veux trier la valeur des clés, pas seulement les clés. Python 3 triera automatiquement les clés de la manière dont la question posée.
Où est le
dict code>? Les dictionnaires n'utilisent pas[] code> notation. Votre photo est également d'une table. Veuillez vous assurer d'avoir un exemple minimal, complet et vérifiable. C'est également déroutant pourquoi vous utilisez; code>.De plus, vous ne devriez pas utiliser
dict code> comme nom de variable depuisdict code> est un mot-clé (bien qu'ils ne se écrasent pas mutuellement).Si je comprends bien, vous voulez traiter la partie de la chaîne des touches après _ comme un numéro et trier à ce sujet, vous devez donc extraire cela et trier ce numéro avec une fonction Lambda ...