Python 对复杂嵌套字典排序
考虑此字典格式,如何按权重或高度键对复杂嵌套字典进行排序:Python 对复杂嵌套字典排序,python,python-3.9,Python,Python 3.9,考虑此字典格式,如何按权重或高度键对复杂嵌套字典进行排序: People = { 'person1': { 'name': 'John Cena', 'size': { 'height': 175, 'weight': 100 } }, 'person2': { 'name': 'Chuck Norris',
People = {
'person1': {
'name': 'John Cena',
'size': {
'height': 175,
'weight': 100
}
},
'person2': {
'name': 'Chuck Norris',
'size': {
'height': 180,
'weight': 90
}
},
'person3': {
'name': 'Jon Skeet',
'size': {
'height': 185,
'weight': 110
}
}
}
无法对字典进行排序,但
.items()
返回键/值对列表。使用sorted
的键
参数指示要排序的字段。Python 3.7及更高版本允许dict保持插入顺序,因此将结果转换回dict的顺序如下:
>>People={'person1':{'name':'John Cena','size':{'height':175','weight':100}},'person2':{'name':'Chuck Norris','size':{'height':180',weight':90},'person3':{'name':'Jon Skeet','size':{'height':185 weight':110}
>>>dict(已排序(People.items(),key=lambda x:x[1]['size']['weight']))
{'person2':{'name':'Chuck Norris','size':{'height':180',weight':90}},'person1':{'name':'John Cena','size':{'height':175',weight':100},'person3':{'name':'Jon Skeet','size':{'height':185 weight':110}