demo= [{'age': 90, 'id': '12#2'},
{'age': 12, 'id': '12#3'},
{'age': 67, 'id': '12#1'},
{'age': 56, 'id': '12#2'},
{'age': 34, 'id': '12#2'}]
a = sorted(demo, key=lambda x: x['id'])
for el in a:
print el
给予
^{pr2}$
按id排序
按多个属性排序demo= [{'age': 90, 'id': '12#2'},
{'age': 12, 'id': '12#3'},
{'age': 67, 'id': '12#1'},
{'age': 56, 'id': '12#2'},
{'age': 34, 'id': '12#2'}]
a = sorted(demo, key=lambda x: (x['id'], x['age']))
for el in a:
print el
给予{'age': 67, 'id': '12#1'}
{'age': 34, 'id': '12#2'}
{'age': 56, 'id': '12#2'}
{'age': 90, 'id': '12#2'}
{'age': 12, 'id': '12#3'}
它首先按id排序,然后按年龄(升序)排序。在
或者,如果要按id对ASC进行排序,并按年龄对DESC进行排序,则可以这样做:demo= [{'age': 90, 'id': '12#2'},
{'age': 12, 'id': '12#3'},
{'age': 67, 'id': '12#1'},
{'age': 56, 'id': '12#2'},
{'age': 34, 'id': '12#2'}]
a = sorted(demo, key=lambda x: (x['id'], -x['age']))
for el in a:
print el
这给了
^{pr2}$