网站优化如何做pc指数,重庆网站建设大概需要多少钱,网站正在建设中 html 模板,进入wordpress后前言
嗨喽~大家好呀#xff0c;这里是魔王呐 ❤ ~! Python中的lambda函数
在Python中#xff0c;我们使用lambda关键字来声明一个匿名函数#xff0c;
这就是为什么我们将它们称为“lambda函数”。
匿名函数是指没有声明函数名称的函数。
尽管它们在语法上看起来不同这里是魔王呐 ❤ ~! Python中的lambda函数
在Python中我们使用lambda关键字来声明一个匿名函数
这就是为什么我们将它们称为“lambda函数”。
匿名函数是指没有声明函数名称的函数。
尽管它们在语法上看起来不同lambda函数的行为方式与使用def关键字声明的一般函数相同。
以下是Python中 lambda函数的特点: lambda函数可以接受任意数量的参数但函数只能包含一个表达式。 表达式是lambda函数执行的一段代码它可以返回任何值也可以不返回任何值。 lambda函数可以返回函数对象。 从语法上讲lambda函数只能有一个表达式。
在本文中我们将详细讨论Python中的lambda函数并演示使用它们的例子。
创建一个lambda函数
我们使用以下语法来声明lambda函数
lambda argument(s):expression正如上面所述我们可以有很多个参数但是只能有一个表达式。
lambda操作符不能有任何声明,它返回一个函数对象我们可以将此函数对象赋值给任何变量。
例如
remainder lambda num: num %2
print(remainder(5))输出
1这段代码中lambda num: num% 2是lambda函数。
num是参数num%2是表达式用来计算后返回结果。
该表达式获取输入参数除以2的模数并返回。
将5作为参数传入通过除以2进行计算得到余数1.
你应该注意到上面脚本中的lambda函数没有分配任何名称。
它只是返回一个函数对象该对象被分配给标识符remainder。
然而尽管函数是匿名的我们还是可以像调用普通函数那样调用它。
声明语句如下:
lambda num: num %2和以下代码相似 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书def remainder(num):return num 2
以下是另一个lambda函数的例子product lambda x, y: x * y
print(product(2.3))输出
6上面定义的lambda函数返回一个product对象该对象具有两个参数的值。
为什么使用lambda 函数?
Lambda函数主要在短时间内需要一个函数时才使用。
当你想要将函数作为参数传递给高阶函数(即以其他函数作为参数的函数)时通常使用这种方法。
下面的例子演示了在其他函数中使用匿名函数
def testfunc (num):return lambda x: x * num在上面的例子中我们有一个函数该函数传入一个参数将它与一个未知数相乘。
我们来演示一下怎样使用上面的函数 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书def testfunc(num):return lambda x : x * num
result1 testfunc(10)
print(result1(9))输出
90在上面的脚本中我们使用一个lambda函数与我们传入的数字10相乘。
同样的函数也可以用来与数字1000相乘。
def testfunc(num):return lambda x : x * num
result2 testfunc(1000)
print(result2(9))输出
9000我们很有可能会使用到testfunc( )函数来在一个程序中定义上面的两个lambda函数 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书def testfunc(num):return lambda x : x * numresult1 testfunc(10)
result2 testfunc(1000)print(result1(9))
print(result2(9))输出
90
9000Lambda函数可以和Python的内置函数一起使用例如map,filter等。
在接下来的章节中我们将讨论怎样在各种Python内置函数中使用lambda函数。
filter() 函数
Python中的filter( )函数接受一个列表参数和一个lambda函数参数。
它的语法如下
filter(object, iterable)这里的object必须是一个返回布尔值的lambda函数。
对迭代器中的每一项都会调用该函数来计算其结果是True或False。
请注意本函数只能接受一个迭代器作为输入。
lambda函数和需要被处理的列表被一同传递给filter( )函数。
filter函数将返回一个新的列表新的列表中只包含旧列表中被lambda函数处理后返回值为True的那些元素。
请参考下面给出的例子
numbers_list [2,6,8,10,11,4,12,7,13,17,0,3,21]
filtered_list list(filter(lambda num: (num 7),numbers_list))
print(filtered_list)输出
[8, 10, 11, 12, 13, 17, 21]在上面的例子中我们先创建了一个包含一系列整数的列表number_list,接着我们创建了一个lambda函数来检查大于7的整数。
此lambda函数作为参数传递给filter函数过滤后的结果保存在一个名为filtered_list的新列表中。
map( ) 函数
map( )函数是另一个以一个函数对象和一个列表作为参数的内置函数。
map函数的语法如下
map(object,iterable_1,iterable_2, ...)传入map函数的迭代器可以是字典列表等。
map函数主要是根据lambda函数定义的逻辑来将输入迭代器中的每一项映射到输出迭代器中的相关项。
请参考以下的例子
numbers_list [2,6,8,10,11,4,12,7,13,17,0,3,21]
mapped_list list(map(lambda num: num %2,numbers_list))
print(mapped_list)输出
[0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1]在上面的脚本中我们先定义了一个由随机数组成的列表numbers_list,接着我们调用map函数并传递一个lambda函数作为参数。
此lambda函数计算每个数除以2之后的余数。映射的结果保存在一个名为mapped_list的列表中。
最后我们打印出列表的内容。
结论 在Python中一个lambda函数是一个只有一行代码的函数不需要进行函数名声明它可以有很多个参数但是只能有一个表达式。 它和使用Python关键字def声明的函数具有相似的功能。 大多数情况下lambda函数只作为参数传递给其他函数。 在本文中我们讲解了广泛使用的lambda函数的语法用例以及实例。
尾语
感谢你观看我的文章呐~本次航班到这里就结束啦
希望本篇文章有对你带来帮助 有学习到一点知识~
躲起来的星星也在努力发光你也要努力加油让我们一起努力叭。 最后宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀