我有一本字典是这样的:
myDict = {
'SER12346': {'serial_num': 'SER12346', 'site_location': 'North America'},
'ABC12345': {'serial_num': 'ABC12345', 'site_location': 'South America'},
'SER12345': {'serial_num': 'SER12345', 'site_location': 'North America'},
'SER12347': {'serial_num': 'SER12347', 'site_location': 'South America'},
'ABC12346': {'serial_num': 'ABC12346', 'site_location': 'Europe'}
}
我的目标是按每个子字典的site_location
和{
使用我在这个问题中找到的代码-Sort a dictionary of dictionaries python-我能够对它进行排序,但它并不是我所期望的那样。在
这是我的代码:
^{pr2}$我得到的结果是:
[('ABC12346', 'site_location', 'Europe'),
('SER12345', 'site_location', 'North America'),
('SER12346', 'site_location', 'North America'),
('SER12347', 'site_location', 'South America'),
('ABC12345', 'site_location', 'South America'),
('ABC12346', 'serial_num': 'ABC12346'),
('SER12345', 'serial_num': 'SER12345'),
('SER12346', 'serial_num': 'SER12346'),
('SER12347', 'serial_num': 'SER12347'),
('ABC12345', 'serial_num': 'ABC12345')]
不过,我本以为会有更像这样的事情:
{
'ABC12346': {'serial_num': 'ABC12346', 'site_location': 'Europe'}
'SER12345': {'serial_num': 'SER12345', 'site_location': 'North America'},
'SER12346': {'serial_num': 'SER12346', 'site_location': 'North America'},
'SER12347': {'serial_num': 'SER12347', 'site_location': 'South America'},
'ABC12345': {'serial_num': 'ABC12345', 'site_location': 'South America'},
}
实际结果是将序列号和站点位置分开。我想把它们放在一起。我该怎么做?在
词典不保留项目的顺序,因此无法排序。如果您想要一个已排序字典的外观,则需要生成一个已排序的列表,然后将其插入OrderedDict类中。下面的代码片段说明了这一点:
这是你想要的吗?在
做的输出:
^{pr2}$是:
编辑:我在回答你的输出格式,但这可能更有意义:
输出:
相关问题 更多 >
编程相关推荐