浅析python中5个带key的内置函数

浅析python中5个带key的内置函数

目录

1.max取最大值函数

2.min取最小值函数

3.filter过滤函数

实例1

实例2

4.map序列映射函数

实例1

实例2

5.sorted序列排序函数

(1) cmp参数

(2)key参数

(3)reverse参数

1.max取最大值函数

max() 方法返回给定参数的最大值,参数可以为序列。

lis = [1,2,3,-4] print(max(lis)) #返回lis列表中的最大值 '''结果: 3 ''' print(max(lis,key=abs)) #key参数指向绝对值函数,返回的结果是-4 2.min取最小值函数

min() 方法返回给定参数的最小值,参数可以为序列。

lis = [-1,0,1,2] print(min(lis)) #返回lis列表中的最小值 '''结果: -1 ''' 3.filter过滤函数

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回True 的元素放到新列表中。

语法格式:filter(function, iterable)

实例1 def is_odd(x): return x % 2 == 1 print(list(filter(is_odd,[1,2,3,4,5,6,7,8,9]))) #python3中不使用list强转数据类型的话,filter返回的是迭代器 '''结果: [1, 3, 5, 7, 9] ''' 实例2 s = 'jason lv' iterator = filter(lambda x : x !='a',s) s1 = '' for i in iterator: s1 += str(i) print(s1) '''结果: json lv ''' 4.map序列映射函数

map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回一个迭代器对象。

语法格式:map(function, iterable, ...)

实例1 def pow2(x): return x * x lis = [1,2,3,4,5,6] print(list(map(pow2,lis))) '''结果: [1, 4, 9, 16, 25, 36] ''' 实例2 lis = [1,2,3,4,5,6] print(list(map(lambda x : x *10 if x >3 else x / 2,lis))) '''结果: [0.5, 1.0, 1.5, 40, 50, 60] 5.sorted序列排序函数

Sort函数是list列表中的函数,而sorted可以对list或者iterator进行排序。

语法格式:sorted(iterable[, cmp[, key[, reverse]]])

参数说明:

(1) cmp参数

cmp接受一个函数,拿整形举例,形式为:

def f(a, b): return a - b

如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了

(2)key参数

key也是接受一个函数,不同的是,这个函数只接受一个元素, 形式如下

def f(a): return len(a)

key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

(3)reverse参数

接受False
或者True

表示是否逆序

语法格式:sorted(iterable[, cmp[, key[, reverse]]])
实例1

lis = [3,2,1,4,5,6] print(list(sorted(lis,reverse=True))) '''结果 [6, 5, 4, 3, 2, 1] ''' print(list(sorted(lis))) #默认不指定reverse参数时,顺序是正序 '''结果 [1, 2, 3, 4, 5, 6] '''

实例2

lis = ['adf ee','zcv','qwer','a s s w'] print(list(sorted(lis,key=len))) '''结果: ['zcv', 'qwer', 'adf ee', 'a s s w'] '''

到此这篇关于浅析python中5个带key的内置函数的文章就介绍到这了,更多相关python带key的内置函数内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读