关于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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Elasticsearch(es) 查询语句语法详解

    Elasticsearch(es) 查询语句语法详解Elasticsearch(es)查询语句语法详解

    2025年6月1日
    7
  • maven – filtering标签

    maven – filtering标签方式一 首先在 pom xml 文件中做出以下添加 nbsp lt project gt lt name gt HelloWorld lt name gt lt build gt lt resources gt lt resource gt lt directory gt src m

    2025年11月23日
    5
  • SQL Server2012安装教程

    转自:https://blog.csdn.net/u013162035/article/details/78567389注】博主使用的是SQLServer2012其他版本的安装类似。【第一步】下载软件链接:https://www.microsoft.com/zh-cn/download/details.aspx?id=29066图132位的Windows7操作系统,…

    2022年4月9日
    55
  • 【C语言】输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)[通俗易懂]

    【C语言】输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)[通俗易懂]输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)一、最大公约数求法(1)辗转相除法(2)相减法二、求最小公倍数算法一、最大公约数求法(1)辗转相除法设有两整数a和b:①a%b得余数c②若c==0,则b即为两数的最大公约数③若c!=0,则a=b,b=c,再回去执行①。例如求27和15的最大公约数过程为:27÷15余1215÷12余312÷3余0因此,3即为最大公约数。(2)相减法设有两整数a和b:①若a>b,则a=a-b②.

    2022年5月16日
    51
  • 软件架构学习小结

    软件架构学习小结

    2021年12月17日
    42
  • electron 安装_electron修改文件描述

    electron 安装_electron修改文件描述1、安装node.js例如:安装在F://node下;2、cmd控制台:F:回车,进入F盘,cdnode回车,进入node文件夹,node-v回车,查看node版本,npm-v回车,查看npm版本,若出现版本号,表示安装成功;3、在cmd控制台,node文件夹下,把npm仓库切换到国内taobao仓库,速度会快很多,命令如下:npminstall-gcnpm–registry=https://registry.npm.taobao.org

    2025年6月2日
    4

发表回复

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

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