在Python中, 匿名函数意味着函数没有名称。我们已经知道定义关键字用于定义常规功能, 拉姆达关键字用于创建匿名函数。它具有以下语法:
lambda arguments: expression
- 此函数可以有任意数量的参数, 但只能有一个表达式, 该表达式将被求值并返回。
- 可以在需要函数对象的任何地方免费使用lambda函数。
- 你需要知道, lambda函数在语法上仅限于单个表达式。
- 除了函数中的其他类型的表达式外, 它在编程的特定领域还具有多种用途。
# Python code to illustrate cube of a number
# showing difference between def() and lambda().
def cube(y):
return y * y * y;
g = lambda x: x * x * x
print (g( 7 ))print (cube( 5 ))
输出如下:
343
125
- 不使用Lambda:在这里, 它们都返回给定数字的多维数据集。但是, 在使用def时, 我们需要使用名称多维数据集定义一个函数, 并且需要向其传递值。执行后, 我们还需要使用调用函数的地方返回结果返回关键词。
- 使用Lambda:Lambda定义不包含” return” 语句, 它始终包含要返回的表达式。我们还可以将lambda定义放在需要函数的任何位置, 而不必完全将其分配给变量。这就是lambda函数的简单性。
将lambda()与filter()结合使用
Python中的filter()函数接受一个函数和一个列表作为参数。这提供了一种精妙的方法来过滤出序列” 序列” 的所有元素, 为此函数返回True。这是一个小程序, 可从输入列表中返回奇数:
# Python code to illustrate
# filter() with lambda()
li = [ 5 , 7 , 22 , 97 , 54 , 62 , 77 , 23 , 73 , 61 ]
final_list = list ( filter ( lambda x: (x % 2 ! = 0 ) , li))
print (final_list)
输出如下:
[5, 7, 97, 77, 23, 73, 61]
将lambda()与map()结合使用
Python中的map()函数接受一个函数和一个列表作为参数。该函数使用lambda函数调用, 并有一个列表, 并返回一个新列表, 其中包含该函数为每个项目返回的所有lambda修改后的项目。例:
# Python code to illustrate
# map() with lambda()
# to get double of a list.
li = [ 5 , 7 , 22 , 97 , 54 , 62 , 77 , 23 , 73 , 61 ]
final_list = list ( map ( lambda x: x * 2 , li))
print (final_list)
【Python lambda(匿名函数)|filter、map和reduce】输出如下:
[10, 14, 44, 194, 108, 124, 154, 46, 146, 122]
使用lambda()和reduce()
Python中的reduce()函数接受一个函数和一个列表作为参数。该函数使用lambda函数和一个列表进行调用, 并返回一个新的简化结果。这会对列表对执行重复操作。这是functools模块的一部分。例:
# Python code to illustrate
# reduce() with lambda()
# to get sum of a list
from functools import reduce
li = [ 5 , 8 , 10 , 20 , 50 , 100 ]
sum = reduce (( lambda x, y: x + y), li)
print ( sum )
输出如下:
193
在这里, 前两个元素的结果将添加到下一个元素, 并一直持续到列表的末尾, 例如(((((5 + 8)+10)+20)+50)+100)。
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python Itertool模块用法完整指南
- Python语言的优势和应用介绍
- java|.NET 正式支持龙芯 LoongArch64 架构
- 麒麟系统开发笔记(国产麒麟系统搭建开发环境之虚拟机安装)
- #yyds干货盘点# GloVe word vectors
- #过年不停更#HarmonyOS-ETS之紧急拨号
- GO学习笔记-监听OS信号
- 创建私有CA并进行证书申请
- 数据库的导入和授权用户