python匿名函数怎么创建
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,本篇内容主要讲解"python匿名函数怎么创建",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python匿名函数怎么创建"吧!前言在定义函数的时候,不想给
千家信息网最后更新 2025年11月09日python匿名函数怎么创建
本篇内容主要讲解"python匿名函数怎么创建",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python匿名函数怎么创建"吧!
前言
在定义函数的时候,不想给函数起一个名字。这个时候就可以用lambda来定义一个匿名函数
语法:
变量名= lambda 参数:表达式(block)
参数:可选,通常以逗号分隔的变量表达式形式,也就是位置参数
表达式:不能包含循环、return,可以包含if…else…
注意:
1.表达式中不能包含 循环,return.可以包含 if…else…语句.
2.参数可有可无,如果有多个参数,使用逗号隔开
3.表达式计算的结果直接返回
一、创建一个匿名函数:
func = lambda: 3 > 2ret = func() # 调用匿名函数,变量名(),使用变量ret来接收表达式返回的内容print(ret) #Truedef func(): return 3 > 2ret = func()print(ret) #True# 和func=lambda :3>2 等价
运行结果:
TrueTrue

二、创建一个带参数的匿名函数
def func(x, y): return x + yret = func(1, 2)print(ret) #3#匿名函数func = lambda x, y: x + yret = func(1, 2) # 如果匿名函数有参数,调用匿名函数的时候需要传递实参。print(ret) #3
三、求两个数的中的最大的值
def func(x, y): if x < y: return y else: return xret = func(30, 20)print(ret) #30#匿名函数func = lambda x, y: y if x < y else x# 注意if和else 没有 : 不能换行,if判断体写在判断条件前面ret = func(11, 2)print(ret) #11func = lambda x, y: y if x < y else x

四、练习题:
1.将add()方法改成匿名函数
def add(x, y): return x + y func = lambda x, y: x + yret = func(1, 2)print(ret) # 3
2.使用 max函数求字典的最大值
dic = {'k1': 10, 'k2': 200, 'k3': 20}ret = max(dic) # 默认比较的是字典的key的大小。ASCII对于的十进制print(ret) # k3def func(key): return dic[key]ret = max(dic, key=func) # 改变比较规则,用value比较大小,最终返回的函数是字典的key值print(ret) # k2使用匿名函数ret = max(dic, key=lambda x: dic[x]) print(ret) #k23、根据列表中字典'name'对应的valuez值进行比较
lst = [ {'name': 'egon', 'price': 100}, {'name': 'rdw', 'price': 666}, {'name': 'zat', 'price': 1} ] # ret = max(lst) # 报错,字典之间不能比较。 # print(ret) def max_name(dic): return dic['name'] # 返回 字典 name对应的值 ret = max(lst, key=max_name) # 指定比较内容 print(ret) 使用匿名函数进行比较: ret = max(lst, key=lambda dic: dic['name']) # 指定比较内容 print(ret)运行结果:
{'name': 'zat', 'price': 1}{'name': 'zat', 'price': 1}同理可以根据列表中字典'price'对应的valuez值大小进行比较
lst = [ {'name': 'egon', 'price': 100}, {'name': 'rdw', 'price': 666}, {'name': 'zat', 'price': 1} ] def max_price(dic): return dic['price'] # 返回 字典 price 的值 匿名函数: ret = max(lst, key=lambda dic: dic['price']) # 指定比较内容 100,666,1 print(ret) #{'name': 'rdw', 'price': 666}4、求 lst 中每一个元素的平方值
lst = [1, 3, 4]def square(num): num2 = num * num return num2ret = map(square, lst) # 迭代器 1,4,16for i in ret: print(i) # 1,9,16 匿名函数:ret = map(lambda num: num * num, lst)for i in ret: print(i) # 1,9,16
5.过滤出列表中的所有奇数:
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]def odd(num): if num % 2 == 1: return True else: return Falseret = filter(odd, lst)print(list(ret)) #[1, 3, 5, 7, 9]# 匿名函数:ret = filter(lambda num: True if num % 2 == 1 else False, lst)print(list(ret)) #[1, 3, 5, 7, 9]
6、现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
tup1 = (('a'), ('b'))tup2 = (('c'), ('d'))# [{'a':'c'},{'b':'d'}]ret = zip(tup1, tup2) #(('a','c'),('b','d'))def func(tup): #('a','c') ('b','d') return {tup[0],tup[1]}ret1=map(func,ret)print(list(ret1)) #[{'a': 'c'}, {'b': 'd'}]# 匿名函数:ret2 = list(map(lambda tup: {tup[0]: tup[1]}, ret))print(ret2) #[{'a': 'c'}, {'b': 'd'}]到此,相信大家对"python匿名函数怎么创建"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
函数
字典
参数
内容
表达式
变量
大小
时候
结果
最大
两个
方法
逗号
学习
循环
运行
实用
更深
可有可无
之间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
德道网络技术有限公司官网
深圳坪山比亚迪软件开发
携程网络安全事件
嘉定网络安全赛
第二十四次会议通过网络安全法
江西有单互联网科技有限公司
分离数据库操作技巧
网络安全备案登记制度
焦煤集团网络安全应急预案
移动通信网络技术应用
任正非网络安全隐私
上海网络技术培训哪里有
沈阳 app软件开发
网络安全培训一些什么内容
获取服务器管理口地址
昌平区正规软件开发风格
数据库时区修改教程
猫王陆丰互联网科技有限公司地址
电脑服务器加装系统
安卓开发访问数据库
我的世界服务器1.14版本
引文数据库有哪几种
移动硬盘怎么当个服务器
海康综合管理平台服务器配置
手游没出公告就关闭服务器合法吗
安徽通用软件开发出厂价格
参观网络安全宣传周展览
网络安全工作建议提纲
查看无线网络技术
山东泰州网络安全知识竞赛