按数据类型排序python字典

时间:2013-09-21 10:34:57

标签: python sorting dictionary

我有列表和字符串的python字典组合。

例如

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 个答案:

答案 0 :(得分:5)

Dicts本质上是无序的,因此您只能从字典中获取排序列表。如果您希望获得键/值对的列表,按值的类型排序,您可以这样做:

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

这将为您提供以下列表,其中字符串条目位于列表条目之前:

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