返回顶部
首页 > 资讯 > 后端开发 > Python >python基础之匿名函数介绍
  • 251
分享到

python基础之匿名函数介绍

2024-04-02 19:04:59 251人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、创建一个匿名函数:二、创建一个带参数的匿名函数三、求两个数的中的最大的值四、练习题:前言 在定义函数的时候,不想给函数起一个名字。这个时候就可以用lambda来定义一个匿

前言

在定义函数的时候,不想给函数起一个名字。这个时候就可以用lambda来定义一个匿名函数

语法:

变量名= lambda 参数:表达式(block)

参数:可选,通常以逗号分隔的变量表达式形式,也就是位置参数

表达式:不能包含循环、return,可以包含if…else…

注意:

1.表达式中不能包含 循环,return.可以包含 if…else…语句.

2.参数可有可无,如果有多个参数,使用逗号隔开

3.表达式计算的结果直接返回

一、创建一个匿名函数:


func = lambda: 3 > 2
ret = func()  # 调用匿名函数,变量名(),使用变量ret来接收表达式返回的内容
print(ret)     #True
def func():
    return 3 > 2
ret = func()
print(ret)   #True
# 和func=lambda :3>2  等价

运行结果:


True
True

在这里插入图片描述

二、创建一个带参数的匿名函数


def func(x, y):
    return x + y
ret = func(1, 2)
print(ret)    #3
#匿名函数
func = lambda x, y: x + y
ret = func(1, 2)  # 如果匿名函数有参数,调用匿名函数的时候需要传递实参。
print(ret)    #3

三、求两个数的中的最大的值


def func(x, y):
    if x < y:
        return y
    else:
        return x
ret = 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)    #11
func = lambda x, y: y if x < y else x

在这里插入图片描述

四、练习题:

1.将add()方法改成匿名函数


def add(x, y):
    return x + y
    
func = lambda x, y: x + y
ret = func(1, 2)
print(ret)      # 3

2.使用 max函数求字典的最大值


dic = {'k1': 10, 'k2': 200, 'k3': 20}
ret = max(dic)  # 默认比较的是字典的key的大小。ASCII对于的十进制
print(ret)     # k3
def 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 num2
ret = map(square, lst)  # 迭代器 1,4,16
for 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 False
ret = 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基础之匿名函数介绍的文章就介绍到这了,更多相关Python匿名函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python基础之匿名函数介绍

本文链接: https://lsjlt.com/news/159877.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python基础之匿名函数介绍
    目录前言一、创建一个匿名函数:二、创建一个带参数的匿名函数三、求两个数的中的最大的值四、练习题:前言 在定义函数的时候,不想给函数起一个名字。这个时候就可以用lambda来定义一个匿...
    99+
    2024-04-02
  • python基础之匿名函数详解
    目录1.匿名函数介绍2.语法3.使用场景4.匿名函数和普通函数的对比5.匿名函数的多种形式6.lambda 作为一个参数传递7. lambda函数与python内置函数配合使用8.l...
    99+
    2024-04-02
  • python基础教程之匿名函数lambda
    python lambda 当我们在使用函数时,有时候,并不需要显示的定义一个函数,我们可以使用匿名函数更加方便,在Python中对匿名函数也提供了支持。 比如当我们想计算两个数a,b之和时,即f(a,...
    99+
    2022-06-04
    基础教程 函数 python
  • python基础之引用和匿名函数
    a=1 #1 为对象, def func(x): print('x的地址{}'.format(id(x))) x=2 print('x的地址{}'...
    99+
    2024-04-02
  • Python基础:lambda 匿名函数
    格式 lambda argument1, argument2,... argumentN : expression square = lambda x: x**2 print(square(2)) 与常规函数区别   匿名函数 l...
    99+
    2023-01-31
    函数 基础 Python
  • Python匿名函数的介绍及用法
    这篇文章主要介绍“Python匿名函数的介绍及用法”,在日常操作中,相信很多人在Python匿名函数的介绍及用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python匿名函数的介绍及用法”的疑惑有所帮助!...
    99+
    2023-06-15
  • 【Python基础】- 自定义函数和匿名函数
      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬...
    99+
    2023-09-01
    python 开发语言
  • Kotlin匿名函数使用介绍
    目录1.函数的声明2.函数参数3.Unit函数4.匿名函数5.匿名函数的参数6.lambda表达式7.定义参数8.匿名函数9.函数的引用10.函数类型作为返回类型1.函数的声明 ko...
    99+
    2024-04-02
  • ES6基础语法之函数介绍
    一、函数参数的扩展 ES6支持参数的默认值: function fn(name,age,sex="男") { console.log(`大家好,我是${name},性别${sex}...
    99+
    2024-04-02
  • Python函数基础(定义函数、函数参数、匿名函数)
    目录一、定义函数:1、简单的规则:2、语法3、无参函数4、有参函数5、空函数二、调用函数及返回值1、函数运行完毕所有代码,如果函数体不写return,则会返回None。2、函数可以返...
    99+
    2024-04-02
  • python基础之reverse和reversed函数的介绍及使用
    目录一、reverse二、reversed附:Python中reverse和reversed反转列表的操作方法总结一、reverse reverse()是python中列表...
    99+
    2022-12-23
    python的reversed函数 python中的reversed和reverse python中的reverse函数
  • Python函数参数基础介绍及示例
    目录视频函数的参数位置参数默认参数默认参数陷阱视频 观看视频 函数的参数 定义函数时,我们把参数的名字和位置确定下来,函数的接口定义就完成了。参数在函数名后的括号内指定。您可以根据需...
    99+
    2024-04-02
  • Python基础---Python介绍
      python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。  2017年最新的TIOBE排行榜,Py...
    99+
    2023-01-31
    基础 Python
  • Python 函数编程的基础知识介绍
    函数基础知识掌握自定义函数的基本语法规范和调用方法及掌握函数的各种参数的使用及调用规则。1、Python函数函数( Function )是组织好的,可重复使用的,用来实现单一, 或相关联功能的代码段。函数能提高应用的模块性 ,和代码的重复利...
    99+
    2023-05-14
    Python 函数编程 自定义函数
  • python之高阶函数和匿名函数
    map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 1 def func(x): 2 return x*x 3 4 r = ma...
    99+
    2023-01-30
    函数 高阶 python
  • Python学习之基础语法介绍
    目录前言基础语法编码注释行与缩进多行语句import与from…import前言 Python环境的搭建这里就不赘述了,有需要的小伙伴可以在网上搜罗出很多教程,注意安装PyChom编...
    99+
    2024-04-02
  • Python 3 之 lambda匿名函
    ------- lambda -------------------------------------    除了def语句之外,Python还提供了一种生成函数对象的表达式形式。由于它与LISP语言中的一个工具很相似,所以称为lambd...
    99+
    2023-01-31
    Python lambda
  • python基础之函数
    函数: # 什么是函数:一系列python语句的组合,可以在程序中运行一次或者多次 # 一般是完成具体的独立的功能 # 为什么要使用函数 # 代码的复用最大化以及最小化冗余代...
    99+
    2024-04-02
  • C++11 lambda(匿名函数)表达式详细介绍
    目录前言概念及基本用法捕获变量lambda表达式类型声明式的编程风格总结前言 Lambda(匿名函数)表达式是C++11最重要的特性之一,lambda来源于函数式编程的概念,也是现代...
    99+
    2024-04-02
  • day16-python之函数式编程匿名
    1.复习 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 name = 'alex' #name=‘lhf’ 4 def change_name(): 5 name...
    99+
    2023-01-31
    函数 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作