关于python中lambda 函数使用小结

关于python中lambda 函数使用小结例子:如果定义普通函数,一般都是这样写:调用即:如果用lambda函数就是这么写,就是一句话:调用:以这样认为,lambda作为一个表达式,定义了一个匿名函数,冒号左边x为入口参数,右边x+

大家好,又见面了,我是你们的朋友全栈君。

  例子:

   如果定义普通函数,一般都是这样写:

     

def:ds(x):
  return 2*x+1

  调用即:

 

ds(5)

  如果用lambda函数就是这么写,就是一句话:

  

 g =lambda x:2*x+1

  调用:

   

g=(5)

  

以这样认为,lambda作为一个表达式,定义了一个匿名函数,冒号左边x为入口参数,右边x+1为函数体/计算表达式。在这里lambda简化了函数定义的书写形式。是代码更为简洁,但是使用函数的定义方式更为直观,易理解。

 

2、Python中,也有几个定义好的全局函数方便使用的,filter, map, reduce。

from functools import reduce 
foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]

print (list(filter(lambda x: x % 3 == 0, foo)))
[18, 9, 24, 12, 27]

print (list(map(lambda x: x * 2 + 10, foo)))
[14, 46, 28, 54, 44, 58, 26, 34, 64]

print (reduce(lambda x, y: x + y, foo))
139

上面例子中的map的作用,非常简单清晰。但是,Python是否非要使用lambda才能做到这样的简洁程度呢?在对象遍历处理方面,其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。   

  比如上面map的例子,可以写成:print ([x * 2 + 10 for x in foo]) 非常的简洁,易懂。   

      filter的例子可以写成:print ([x for x in foo if x % 3 == 0]) 同样也是比lambda的方式更容易理解。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155924.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android Spinner使用技巧讲解

    Android Spinner使用技巧讲解

    2021年8月18日
    58
  • 五大常用算法之二:动态规划算法

    一、基本概念动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略基本

    2021年12月25日
    47
  • Pytest(8)parametrize参数化[通俗易懂]

    Pytest(8)parametrize参数化[通俗易懂]前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月28日
    23
  • IntelliJ IDEA 如何创建一个 Java 项目

    IntelliJ IDEA 如何创建一个 Java 项目一、创建Java项目1.选择一个文件夹,鼠标右击OpenFolderasIntellliJIDEAProject(作为intellijidea项目打开文件夹),打开之后应该是一个初始界面2.选择File—>New—>Project3.选择一个电脑本机的JDK4.NewProject:可以不勾选,直接NEXT5.选择新项目名称,新项目路径,然后Finsh,在新打开的页面选择NewWindow6.创建Java项目成功二、创建Java文件1.右击src—&gt

    2022年7月9日
    81
  • anaconda tensorflow pycharm_tensorflow搭建

    anaconda tensorflow pycharm_tensorflow搭建目录安装anaconda安装pycharm安装tensorflowpycharm新建有tensorflow模块的Project目前正在学习tensorflow库的深度学习的一些知识,基本的安装和环境配置做个记录。安装anaconda到官网上下载安装,ana2和ana3都可以,我这里都下载了。安装时候注意勾选写入路径。安装到某个盘,以后的环境会在那里生成。安装pycharm到官网上下载安装…

    2022年8月27日
    6
  • 0x7ffffffff什么意思(y9000x)

    运行之后发现:0x7FFFFFFF对应int.MaxValue即21474836470xFFFFFFFF对应uint.MaxValue即42949672950x7FFF对应short.MaxValue即327670xFFFF对应ushort.MaxValue即655350x7F对应sbyte.MaxValue即1270xFF对应byt…

    2022年4月12日
    76

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号