2013-09-21 77 views
1

我有列表和字符串的Python字典組合。按數據類型排序python字典

e.g

dic = {"a": "11","c": [1,3,4], "b": [1,2,3], "g": "a"} 

我想通過數據類型來排序。

dic = {"a": "11", "g": "a", "c": [1,3,4], "b": [1,2,3]} 
+1

詞典沒有秩序!使用'collections.OrderedDict',如果你想 – TerryA

回答

5

日文N3 N4 N5本質上是無序,所以你只能得到一個排序列表出來的字典。如果你希望得到的鍵/值對的列表,由值的類型排序,你可以做這樣的:

sorted(dic.items(), key=lambda pair: type(pair[1]), reverse=True) 

這會給你下面的列表,以字符串項來臨之前列表條目:

[('a', '11'), ('g', 'a'), ('c', [1, 3, 4]), ('b', [1, 2, 3])] 
+0

Works。謝啦。 – Naveed

+3

@Nav:如果有幫助,請[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 – georg