次の形式のエントリを含む辞書があります
a = dict({(2,2013):[], (2,2011):[], (7,2013):[] , (4,2013):[]})
出力を次のようにしたい:
{(2,2011):[], (2,2013):[], (4,2013):[] , (7,2013):[]}
ところで、(月、年)であるはずですが、どうすればそれを達成できますか?
次の形式のエントリを含む辞書があります
a = dict({(2,2013):[], (2,2011):[], (7,2013):[] , (4,2013):[]})
出力を次のようにしたい:
{(2,2011):[], (2,2013):[], (4,2013):[] , (7,2013):[]}
ところで、(月、年)であるはずですが、どうすればそれを達成できますか?
import operator
myDict = {1: 1, 2: 2, 4:4, 2:1}
sorted_myDict = sorted(myDict.iteritems(), key=operator.itemgetter(1))
sorted_myDict は、各タプルの 2 番目の要素でソートされたタプルのリストになります。
@Decencyの回答も非常に良いオプションです。
何らかの理由で順序を保持する必要がある場合は、OrderedDict オブジェクトを使用できます。
順序付き辞書は通常の辞書と同じですが、アイテムが挿入された順序を記憶しています。順序付けられたディクショナリを反復処理する場合、項目はキーが最初に追加された順序で返されます。
ドキュメント: http://docs.python.org/2/library/collections.html#collections.OrderedDict
class collections.OrderedDict([items])