如何排序嵌套字典python?

时间:2017-02-07 12:17:03

标签: python sorting dictionary

我有以下嵌套词典:

{'switch3': {'ip': '192.160.1.2', 'hostname': 'test-1'}, 
'switch2': {'ip': '192.160.1.8', 'hostname': 'test-1'}, 
'switch4': {'ip': '192.160.1.3', 'hostname': 'test-1'}, 
'switch1': {'ip': '192.160.1.4', 'hostname': 'test-1'}}

我希望按开关排序,并得到这个:

{'switch1': {'ip': '192.160.1.4', 'hostname': 'test-1'} 
'switch2': {'ip': '192.160.1.8', 'hostname': 'test-1'}, 
'switch3': {'ip': '192.160.1.2', 'hostname': 'test-1'},
'switch4': {'ip': '192.160.1.3', 'hostname': 'test-1'}}

这可能吗?

1 个答案:

答案 0 :(得分:1)

请记住,python中的dicts是无序列表,您可以使用记住项目顺序的OrderedDict。

以下代码似乎对dict进行排序(仅用于打印),但实际上并没有对它进行排序,您应该使用OrderedDict。

mydict = {'switch3': {'ip': '192.160.1.2', 'hostname': 'test-1'}, 
'switch2': {'ip': '192.160.1.8', 'hostname': 'test-1'}, 
'switch4': {'ip': '192.160.1.3', 'hostname': 'test-1'}, 
'switch1': {'ip': '192.160.1.4', 'hostname': 'test-1'}}

sorted_x = sorted(mydict.items())