python对列表排序

1、基础排序:sorted

list=sorted([5, 2, 3, 1, 4])
print(list)
输出结果:
[1, 2, 3, 4, 5]

2.key参数/函数

key参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较。

例如通过key指定的函数来忽略字符串的大小写:

list=sorted("This is a test string from Andrew".split(), key=str.lower)
打印结果:
['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']

但是key参数更多的是用复杂对象的某些值来对复杂对象的序列排序:

复杂语法:

sorted(iterable, cmp=None, key=None, reverse=False) ===》

iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定;
key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True  降序 或者 reverse = False 升序,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。

举例:lambda:

sorted_list=sorted(four_list,key=lambda x:x["hit_count"],reverse=True)

解释:four_list:要排序的列表;lambda是一个匿名函数,主体是个表达式,根据“hit_count”排序;reverse=True代表降序

最简单的lambda例子:定义一个lambda表达式,求三个数的和

# -*- coding: UTF-8 -*-
f = lambda x,y,z:x + y + z

print f(1,2,3)
print f(4,5,6)

输出:
6
15

 

 

 

你可能感兴趣的:(python)