sorted(iterable, cmp=None, key=None, reverse=False)
rest ={ '1':{'name':'Lucy', 'age':67}, '2':{'name':'Spam', 'age':12}, '3':{'name':'Bob', 'age':34}, '4':{'name':'Joe', 'age':27} } rest = sorted(rest.items(), key=lambda x: x[1].get('age',' '), reverse=True) #以age降序排列
rest = [ {'name':'lucy', 'age': 22, 'grade':90}, {'name':'ham', 'age':34, 'grade':78}, {'name':'blus', 'age':18, 'grade': 89} ] sorted(rest, key=lambda x: x.get('name','')) #以 name 来排序 sorted(rest, key=lambda x: x.get('grade','')) #以 grade 来排序
1. reverse: 决定升序还是降序
sorted([5, 2, 3, 1, 4])
输出:
[1, 2, 3, 4, 5]
sorted([5, 2, 3, 1, 4], reverse=True)
输出:
[5, 4, 3, 2, 1]
2. key: 参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较。
student_tuples = [('john', 'A', 15),('jane', 'B', 12),('dave', 'B', 10),]sorted(student_tuples, key=lambda student: student[2])
输出:
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]