匿名函数 lambda
发布时间:2023-06-27 10:38:49 所属栏目:教程 来源:
导读:在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。Python 提供了 lambda 表达式对匿名函数提供了有限支持,lambda 表达式的语法如下:
lambda args: expression
使用 lambda 表达式定义一
lambda args: expression
使用 lambda 表达式定义一
在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。Python 提供了 lambda 表达式对匿名函数提供了有限支持,lambda 表达式的语法如下: lambda args: expression 使用 lambda 表达式定义一个函数,函数判断输入参数是否大于 0,如下所示: lambda x: x > 该函数等价于函数 select_positive,如下所示: def select_positive(x):return x > 函数 select_positive 与 lambda 表达式的功能相同,函数 select_positive 具有函数名称,lambda 表达式没有函数名,因此 lambda 表达式又被称为匿名函数。 使用 lambda 表达式重写程序 在前面的小节中,将函数作为参数,编写程序实现打印正数和负数。下面使用 lambda 表达式重写这个程序: list = [, -, , -, , -]def select(list, select_function):for item in list:if select_function(item):print(item)select(list, lambda item: item > )select(list, lambda item: item < ) 在第 3 行,定义了函数 select,它与前面的小节定义的函数完全相同 在第 4 行,遍历列表 list 在第 5 行,参数 selct_function 是一个函数,用于选择是否选中当前正在遍历的数值 在第 8 行,定义了 lambda 表达式 lambda 表达式判断输入参数是否为正数 将 lambad 表达式作为参数传递给函数 select,函数打印列表中的正数 在第 9 行,定义了 lambda 表达式 lambda 表达式判断输入参数是否为负数 将 lambad 表达式作为参数传递给函数 select,函数打印列表中的负数 程序输出结果如下: 1 2 3 -1 -2 -3 map 函数 使用 Python 内置的 map 函数时,通常会用到 lambda 表达式。map 函数的原型如下: map(function, list) map 函数接收两个参数 function 和 list,function 是一个函数,list 是一个可以被遍历的序列,map 将传入的函数依次作用到序列的每个元素,并把结果作为新的序列返回。 调用函数 map 时,需要提供一个函数 y = f (x),函数 f 将输入 x 映射为输出 y list = [, , ]list2 = map(lambda x: x * , list)for item in list2:print(item)list10 = map(lambda x: x + , list)for item in list10:print(item) 在第 1 行,定义原始序列 list 在第 3 行,定义 lambda 函数,作用于 list 中的每个元素,将每个元素乘以 2,生成一个新序列 list2 在第 4 行,打印输出新序列 list2 在第 7 行,定义 lambda 函数,作用于 list 中的每个元素,将每个元素加上 10,生成一个新序列 list10 在第 8 行,打印输出新序列 list10 程序输出结果如下: 2 4 6 11 12 13 Python 对 lambda 函数 的支持有限。当我们在编写程序的时候如果代码只是用一次,并不会复用的时候 lambda 函数是一个非常好的选择。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |