千家信息网

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)     #k2

3、根据列表中字典'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版本 引文数据库有哪几种 移动硬盘怎么当个服务器 海康综合管理平台服务器配置 手游没出公告就关闭服务器合法吗 安徽通用软件开发出厂价格 参观网络安全宣传周展览 网络安全工作建议提纲 查看无线网络技术 山东泰州网络安全知识竞赛
0