主要内容 #
1. lambda:一个语法 #
lambda是python中的关键字,其语法是唯一的,如下: lambda argument_list: expression 参数说明: argument_list:参数列表,结构与函数的参数列表是一样的,可以有必须参数,默认参数,可变参数,关键词参数 expression:关于参数的表达式,参数需在argument_list有定义,并且表达式只能是一行 综上所述: lambda argument_list:expression表示的就是一个函数,叫做lambda函数2. lambda:三个特性 #
特性一: lambda是匿名函数:即没有函数名的函数 特性二: lambda函数有输入和输出:输入是传入到参数列表的值,输出是根据表达式计算得到的值 特性三: lambda函数一般功能简单:单行的expression决定了lambda函数不可能完成复杂逻辑。 由于其实现的功能简单,一目了然,甚至可以不用专门的名字来命名。 比如:lambda x,y: x*y #函数输入是x和y,输出的是他们的积 lambda :None # 函数没有输入参数,输出的是None lambda *args:sum(args) # 输入是可变参数,输出的是他们的和 lambda **kwargs:1 # 输入是关键词参数,输出的是1
3. lambda:三个用法 #
lambda语法是固定的,本质上只有一种用法,就是定义lambda函数。 实际中,可以根据使用场景扩展,总结为以下4种用法: 用法一: 将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数add = lambda x,y:x+y #这样变量add就是具有加法功能的函数 print(add(1,2))用法二: 将lambda函数赋值给其他函数,从而将其他函数用lambda替换(慎用!)
def add(x, y): return x+y print(add(10,20)) add = lambda x,y:None # 此时add已经没有加法的功能了 print(add(10,20))用法三: 将lambda函数作为参数传递给其他函数(常见用法)
dict_1 = {3:6, 1:10, 5:6, 2:9, 8:7, 4:6} # lambda函数是sorted函数的key参数 data_1 = sorted(dict_1.items(), key=lambda x:x[0]) print(data_1)
4. 小结 #
OJ训练题 #
1、美食烹饪大赛 – ★
2、四位数的计算 – ★
3、COUNT – ★★
4、ISBN码 – ★★★
5、绝对值排序 – ★★★★