匿名函数及其使用
Posted shinemiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匿名函数及其使用相关的知识,希望对你有一定的参考价值。
匿名函数
python使用lambda创建匿名函数:
- lambda函数拥有自身的命名空间,且不能访问自有参数列表之外的或全局命名空间里的参数
- 主体是一个表达式
语法
lambda [arg1 [arg2,arg3,......argn]]:expression
常见用法
主要与其他函数联合使用
map函数
eg:
li = [1, 2, 3, 4]
print(list(map(lambda x:x*x, li)))
# [1,4,9,16]
reduce 函数
eg:
#接受一个list并利用reduce()求积
from functools import reduce
li = [1,2,3,4,5,6,7,8,9]
print(reduce(lambda x,y:x * y,li))
# 结果=1*2*3*4*5*6*7*8*9 = 362880
filter函数
eg:
# 回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数
li = list(range(1, 200))
print(list(filter(lambda x:int(str(x))==int(str(x)[::-1]),li)))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]
sorted函数
sorted(literable, key=None, reverse=False)
# reverse:排序方向,默认为从小到大,reverse=True为从大到小
eg:
# 对列表按照绝对值进行排序
li= [-21, -12, 5, 9, 36]
print(sorted(li, key = lambda x:abs(x)))
# [5, 9, -12, -21, 36]
#对二元组列表排序,若第一个元素相同,则按照按照第二个元素
sorted(people,key=lambda x:(-x[0],x[-1]))
以上是关于匿名函数及其使用的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段