dictをキーで並べ替えようとしましたが、チャンスはありませんでした。これは私の口述です:
result={'1':'value1','2':'value2',...}
私はPython2.7を使用していますが、これを見つけました
keys = result.keys()
keys.sort()
しかし、これは私が期待したものではありません、私は分類されていない口述を持っています。
dictをキーで並べ替えようとしましたが、チャンスはありませんでした。これは私の口述です:
result={'1':'value1','2':'value2',...}
私はPython2.7を使用していますが、これを見つけました
keys = result.keys()
keys.sort()
しかし、これは私が期待したものではありません、私は分類されていない口述を持っています。
標準のPython辞書は本質的に順序付けられていません。ただし、を使用することはできますcollections.OrderedDict
。挿入順序が保持されるため、必要なのは、キーと値のペアを目的の順序で追加することだけです。
In [4]: collections.OrderedDict(sorted(result.items()))
Out[4]: OrderedDict([('1', 'value1'), ('2', 'value2')])
sorted(result.iteritems(), key=lambda key_value: key_value[0])
これにより、ソートされた結果が出力されますが、辞書はソートされないままになります。辞書の順序を維持したい場合は、OrderedDict
実際、キーで並べ替えると、その部分をスキップできますkey=...
。これは、繰り返されるアイテムが最初にキーで並べ替えられ、後で値で並べ替えられるためです(NPEが回答で使用するもの)
Python辞書は順序付けされていません(定義用)
代わりにOrderedDictを使用できます