私はdict {'a': 2, 'b': 0, 'c': 1}
を持っています。私はリスト['b', 'c', 'a']
dictのキーを値でソートする方法は?
これを行うための簡単な方法がありますを取得することができるように
値でキーをソートする必要がありますか?
私はdict {'a': 2, 'b': 0, 'c': 1}
を持っています。私はリスト['b', 'c', 'a']
dictのキーを値でソートする方法は?
これを行うための簡単な方法がありますを取得することができるように
値でキーをソートする必要がありますか?
sorted_keys = sorted(my_dict, key=my_dict.get)
はこれを試してみてください。
import operator
lst1 = sorted(lst.items(), key=operator.itemgetter(1))
それは[( 'b'、0)、( 'c'、1)、( 'a'、2)]を返します。閉じる。 – delsin
これで、すべてのキー値ペアの0番目のインデックスをループして出力できます。したがって、これはあなたがキーと値のマッピングを失うことさえない方法です。 –
>>> d={'a': 2, 'b': 0, 'c': 1}
>>> [i[0] for i in sorted(d.items(), key=lambda x:x[1])]
['b', 'c', 'a']
それを行うための簡単な方法があります。 .items()を使用してキー値を取得し、ソートを使用してそれに応じてソートすることができます。
dictionary = sorted(dictionary.items(),key=lambda x:x[1])
これは '逆'とは異なります.... –
>>> 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
[値によってPythonの辞書をソート]の可能な重複(http://stackoverflow.com/questions/613183/sort-a-python-dictionary-by-value) – zondo