Python教程

python lambda 匿名函数

本文主要是介绍python lambda 匿名函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

lambda
1.定义
匿名函数:是指一类无需定义标识符(函数名)的函数或子程序。所谓匿名函数,通俗地说就是没有名字的函数,lambda函数没有名字,是一种简单的、在同一行中定义函数的方法。

2.语法

lambda arg1,arg2,arg3...: expression

参数列表可以是如下元素:

a,b
a=1,b=2
*args (任意个数的参数)
**kwargs (任意键值对参数)
a,b=1,*args
空

lambda 函数可以接收任意多个参数 (包括可选参数), 并且返回单个表达式的值,但是lambda函数只可以有一个表达式。

e.g.
① lambda x, y: x*y;函数输入是x和y,输出是它们的积x*y
②lambda:None;函数没有输入参数,输出是None
③lambda *args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性要求是输入参数必须能够进行加法运算)

3.用法
①将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数。
例如,执行语句add=lambda x, y: x+y,定义了加法函数lambda x, y: x+y,并将其赋值给变量add,这样变量add便成为具有加法功能的函数。例如,执行add(1,2),输出为3。
②部分Python内置函数接受函数作为参数,比如fliter,sorted,map和reduce函数。
例子如下

files=['1.txt', '10.txt', '11.txt', '2.txt', '3.txt']
files.sort()
print(files)
>>>['1.txt', '10.txt', '11.txt', '2.txt', '3.txt']
files.sort(key= lambda x:int(x[:-4]))
print files
>>>['1.txt', '2.txt', '3.txt', '10.txt', '11.txt']

参考:
【1】https://www.cnblogs.com/jins-note/p/9550388.html
【2】https://zhuanlan.zhihu.com/p/58579207
【3】https://zhuanlan.zhihu.com/p/80960485

这篇关于python lambda 匿名函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!