Ich habe ein Diktat {'a': 2, 'b': 0, 'c': 1}
.Wie Tasten des Diktats nach Werten sortiert werden?
benötigen Schlüssel durch Werte zu sortieren, so dass ich eine Liste bekommen kann ['b', 'c', 'a']
Gibt es eine einfache Möglichkeit, dies zu tun?
Ich habe ein Diktat {'a': 2, 'b': 0, 'c': 1}
.Wie Tasten des Diktats nach Werten sortiert werden?
benötigen Schlüssel durch Werte zu sortieren, so dass ich eine Liste bekommen kann ['b', 'c', 'a']
Gibt es eine einfache Möglichkeit, dies zu tun?
sorted_keys = sorted(my_dict, key=my_dict.get)
versuchen Sie dies:
import operator
lst1 = sorted(lst.items(), key=operator.itemgetter(1))
Es gibt [('b', 0), ('c', 1), ('a', 2)] zurück. Schließen. – delsin
Jetzt können Sie den 0. Index jedes Schlüsselwertpaares kopieren und drucken. Auf diese Weise verlieren Sie nicht einmal die Zuordnung von Schlüssel und Wert. –
>>> d={'a': 2, 'b': 0, 'c': 1}
>>> [i[0] for i in sorted(d.items(), key=lambda x:x[1])]
['b', 'c', 'a']
Es gibt eine einfache Möglichkeit, es zu tun. Sie können .items() verwenden, um den Schlüsselwert abzurufen und sortiert zu verwenden, um sie entsprechend zu sortieren.
dictionary = sorted(dictionary.items(),key=lambda x:x[1])
Das ist nicht das, was "umgekehrt" tut .... –
>>> d = {'a':2, 'b':0, 'c':1}
>>> sor = sorted(d.items(), key=lambda x: x[1])
>>> sor
[('b', 0), ('c', 1), ('a', 2)]
>>> for i in sor:
... print i[0]
...
b
c
a
Mögliche Duplikat [Sortieren ein Wörterbuch Python von value] (http://stackoverflow.com/questions/613183/sort-a-python-dictionary-by-value) – zondo