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}