64 lambda 表达式
创始人
2024-11-04 06:06:07
0

lambda 表达式常用来声明匿名函数,即没有函数名字的临时使用的小函数,常用在临时需要一个类似于函数的功能但又不想定义函数的场合。

lambda 表达式只可以包含一个表达式,不允许包含其他复杂的语句,但在表达式中可以调用其他函数,该表达式的计算结果相当于函数的返回值。

f = lambda x, y, z: x + y + z  # 可以给 lambda 表达式起一个名字 print(f(1, 2, 3))  # 把 lambda 表达式当作函数使用  g = lambda x, y=2, z=3: x + y + z  # 支持默认值参数 print(g(1)) print(g(2, z=4, y=5))  # 调用时使用关键参数  L = [(lambda x: x ** 2), (lambda x: x ** 3), (lambda x: x ** 4)] print(L[0](2), L[1](2), L[2](2))  D = {'i': (lambda: 2 + 3), 'j': (lambda: 2 * 3), 'k': (lambda: 2 ** 3)} print(D['i'](), D['j'](), D['k']())  s = [1, 2, 3, 4, 5] print(list(map(lambda i: i + 10, s)))  # lambda 表达式作为函数参数 

在这里插入图片描述

def func(i):     return i * i   func(5) s = [1, 2, 3, 4, 5] print(list(map(lambda i: func(i), s)))  # lambda表达式中可以调用函数 

在这里插入图片描述

data = list(range(20)) import random  random.shuffle(data) print(data) data.sort(key=lambda x: x)  # 用在列表的sort方法中,作为函数参数 print(data) data.sort(key=lambda x: len(str(x)))  # 使用 lambda 表达式指定排序规则 print(data) data.sort(key=lambda x: len(str(x)), reverse=True)  # 使用 lambda 表达式指定排序规则 print(data) 

在这里插入图片描述

在使用 lambda 表达式时,要注意变量作用域可能带来的问题。

s = [] for i in range(10):     s.append(lambda j=i: j ** 2) print(s[0](), s[1](), s[-2](), s[-1]()) 

在这里插入图片描述

在这里插入图片描述

# 相当于只有一条 return i 语句的小函数 f = lambda: i i = 3  # 调用时真正的返回值取决于全局变量i的值 print(f())  i = 5 print(f()) 

在这里插入图片描述

虽然使用 lambda 表达式可以很方便灵活地定义一些小函数,但是,如果仅仅是需要一个简单的运算,那么应该尽量使用标准库 operator 中提供的函数,避免自己定义 lambda 表达式,operator 中的函数执行效率更高一些。

相关内容

热门资讯

技巧辅助挂!pokermast... 技巧辅助挂!pokermaster修改器,丹东约战麻将辅助器,演示教程(有挂细节)1、点击下载安装,...
现场直击!wepokerplu... 现场直击!wepokerplus万能挂,丰城双剑新版最强高分攻略,操作教程(有挂方针)1.丰城双剑新...
插件辅助挂!wepoker有辅... 插件辅助挂!wepoker有辅助器吗,乐平包王攻略,学习教程(有挂方略)1、首先打开乐平包王攻略辅助...
据玩家消息!拱趴大菠萝辅助神器... 据玩家消息!拱趴大菠萝辅助神器,多乐跑得快辅助器,机巧教程(证实有挂)1、在拱趴大菠萝辅助神器插件功...
此事备受玩家关注!来玩app破... 此事备受玩家关注!来玩app破解版,h5能反杀吗,绝活教程(有挂详细)1、打开软件启动之后找到中间准...
值得注意的是!aapoker破... 值得注意的是!aapoker破解侠是真的吗,蜀山四川游戏修改工具,经验教程(有挂助手)1、金币登录送...
第三方辅助!wepoker脚本... 第三方辅助!wepoker脚本,广东星悦有外开挂辅助器吗,法门教程(有挂分析)广东星悦有外开挂辅助器...
此事引发广泛关注!德州透视脚本... 此事引发广泛关注!德州透视脚本,崇阳斗棋辅助脚本视频,诀窍教程(的确有挂)暗藏猫腻,小编详细说明崇阳...
黑科技辅助挂!wepoker买... 黑科技辅助挂!wepoker买脚本靠谱吗,情怀七喜游戏辅助,法门教程(有挂方法)1、每一步都需要思考...
方法辅助挂!aapoker怎么... 方法辅助挂!aapoker怎么设置提高好牌几率,蘑菇云辅助使用视频,绝活儿教程(讲解有挂)1、完成蘑...