我有以下嵌套词典:
{'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'}}
这可能吗?
答案 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())