python lambda函数的用法,python lambda语法

  python lambda函数的用法,python lambda语法

  Python中的lambda函数

  在Python中,我们使用lambda关键字来声明一个匿名函数,这就是为什么我们称它们为“lambda函数”。匿名函数是指没有声明函数名的函数。尽管它们在语法上看起来不同,但是lambda函数的行为方式与用def关键字声明的一般函数相同。以下是Python中lambda函数的特征:

  Lambda函数可以接受任意数量的参数,但该函数只能包含一个表达式。表达式lambda是由函数执行的一段代码,它可能返回也可能不返回任何值。

  Lambda函数可以返回函数对象。

  从语法上讲,lambda函数只能有一个表达式。

  在本文中,我们将详细讨论Python中的lambda函数,并演示使用它们的例子。

  创建一个lambda函数

  

  我们使用以下语法来声明lambda函数:

  Lambda参数:表达式如上所述,我们可以有许多参数,但只有一个表达式。Lambda运算符不能有任何声明,它返回一个函数对象,我们可以将这个函数对象赋给任何变量。

  例如:

  remainder=lambda num:num % 2 print(remainder(5))输出:

  1在这段代码中,lambda num: num% 2是lambda函数。Num是参数,num%2是表达式,用来返回计算后的结果。该表达式将输入参数的模除以2并返回它。5作为参数传入,余数1除以2得到。

  您应该注意到,上面脚本中的lambda函数没有被赋予任何名称。它只返回一个函数对象,该对象被分配给标识符容器。然而,尽管函数是匿名的,我们仍然可以像普通函数一样调用它。声明如下:

  Lambda num: num %2类似于以下代码:

  没有人回答研究中的问题?边肖创建了一个Python学习交流QQ群:531509025,寻找志同道合的朋友互相帮助。群里还有很好的视频学习教程和PDF电子书! def remainder(num): return num 2以下是lambda函数的另一个示例:

  product=x,y: x * y print (product (2.3))输出:

  上面定义的lambda函数返回一个带有两个参数值的product对象。

  为什么使用lambda 函数?

  Lambda函数主要用在短时间内需要一个函数的时候。魔鸡通常在想要将函数作为参数传递给高阶函数(即以其他函数作为参数的函数)时使用这种方法。

  下面的示例演示了匿名函数在其他函数中的使用:

  test func(num):return lambda x:x * num在上面的例子中,我们有一个函数传入一个参数,并将其乘以一个未知数。让我们演示一下如何使用上述函数:

  没有人回答研究中的问题?边肖创建了一个Python学习交流QQ群:531509025,寻找志同道合的朋友互相帮助。群里还有很好的视频学习教程和PDF电子书! def test func(num):return lambda x:x * num result 1=test func(10)print(result 1(9))output

  在上面的脚本中,我们使用一个lambda函数来乘以我们传入的数字10。同样的函数也可以用来乘以1000。

  test func(num):return lambda x:x * num result 2=test func(1000)print(result 2(9))输出:

  9000我们将很可能使用testfunc()函数在一个程序中定义上述两个lambda函数:

  没有人回答研究中的问题?边肖创建了一个Python学习交流QQ群:531509025,寻找志同道合的朋友互相帮助。群里还有很好的视频学习教程和PDF电子书! def test func(num):return lambda x:x * num result 1=test func(10)result 2=test func(1000)print(result 1(9))print(result 2(9))Output:

  909000 Lambda函数可以和Python的内置函数一起使用,比如map()、filter()等。

  下一章,我们将讨论如何在各种Python内置函数中使用lambda函数。

  filter() 函数

  Python中的filter()函数接受一个列表参数和一个lambda函数参数。其语法如下:

  Filter(object,iterable)这里的对象必须是返回布尔值的lambda函数。迭代器中的每一项都调用这个函数来计算结果是真还是假。请注意,这个函数只能接受一个迭代器作为输入。

  lambda函数和要处理的列表一起被传递给filter()函数。filter()函数将返回一个新的列表,其中只包含旧列表中经过lambda函数处理并返回True的那些元素。请参考下面给出的例子:

  Numbers _ list=[2,6,8,10,11,4,12,7,13,17,0,3,21]filtered _ list=list(filter(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(对象,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,1,0,1,1]在上面的脚本中,我们首先定义了一个由随机数组成的列表numbers_list,然后我们调用map()函数,并传递了一个lambda函数作为参数。这个lambda函数计算每个数除以2后的余数。映射结果保存在名为mapped_list的列表中。最后,我们打印出列表的内容。

  结论

  在Python中,lambda函数是只有一行代码的函数,不需要函数名声明。它可以有许多参数,但只有一个表达式。它具有与Python关键字def声明的函数相似的函数。在大多数情况下,lambda函数只作为参数传递给其他函数。

  在本文中,我们解释了广泛使用的lambda函数的语法、用例以及例子。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: