python内置函数 sorted

sorted(iterable, cmp=None, key=None, reverse=False) 在python3.0中cmp参数被删除了

1.sorted()内置函数返回一个新的序列,它可以对任何iterable对象排序

   list.sort() 没有返回值,它对原来的序列进行排序,这个函数只是用list

python内置函数 sorted_第1张图片

python内置函数 sorted_第2张图片

2.key参数

   key参数是一个函数,这个函数作用于iterable对象的每一个元素,返回一个值,sorted函数根据返回的值进行排序

rest = [('jhon', 'A', 23),
            ('mary', 'C', 34),
            ('Bob', 'B', 13)
           ]
sorted(rest, key=lambda x: x[1]) #以成绩排序

sorted(rest, key=lambda x: x[2]) #以年龄排序
python内置函数 sorted_第3张图片

对list中的字典进行排序:

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 来排序

python内置函数 sorted_第4张图片

对字典进行排序:

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降序排列


你可能感兴趣的:(python,基础)