我有列表和字符串的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]}
答案 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])]