广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python的lambda表达式
  • 529
分享到

Python的lambda表达式

表达式Pythonlambda 2023-01-31 05:01:33 529人浏览 薄情痞子

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

摘要

匿名表达式---lambda介绍匿名函数- 也是就lambda表达式。介绍几个 序列处理的函数,比如序列过滤、把所有元素都拿过来做某些操作,这种的序列处理函数。这样的函数都有一些特点,会借用别函数来进行操作。这里就会用到lambda ▷匿名



匿名表达式---lambda

介绍匿名函数- 也是就lambda表达式。

介绍几个 序列处理的函数,比如序列过滤、把所有元素都拿过来做某些操作,这种的序列处理函数。

这样的函数都有一些特点,会借用别函数来进行操作。这里就会用到lambda

 

▷匿名函数

lambda 函数是一种快速定义单行的最小函数,是从Lisp借用来的,可以用在任何需要函数的地方。

lambda 是一个 匿名函数,不需要名字的函数,它更像一像是一个指令,通常只需要一行代码去做一件事情的函数,都可以用lambda定义它

不需要函数名字,只需要函数功能的,就会用到它。

 

特点

◆使用python写一些执行脚本时,使用lambda可以省去定

义函数的过程,让代码更加精筒。

◆对于一些抽象的,不会别在的地方再复用的函数,有时

候给函数起个名字也是个难题,使用lambda不需要考虑

命名的问题。只用到一次,执行一次函数效果的函数,可以选择简洁一点的lambda

◆使用lambda在某些时候让代码更容易理解。

 

lambda应用实例
◆reduce为逐次操作list里的每项,接收的参数为2个,最后
返回的为一个结果
◆>>>defmyadd(x,y):
◆>>>
returnx+y
◆>>>sum =reducc(myadd,(1,2,3))
◆>>>6

 

工作原理

blob.png

reduc (借助函数操作,序列(1,2,3,4,5))

reduc用来传值

myadd可以是 任意一个函数,这个函数一定能接受两个值

reduce每次会传递给两个值

 

演示 reduce

blob.png

注意在py2当中,reduce是直接可以拿来用的,py3当中使用会提示 没有定义、

原因是 在 py3当中 把reduce,放到了一个函数工具库的地方一个模块,(func tools );

 

blob.png

调函数工具库 代码

from functools import reduce


从么 地方 取过来 什么函数,导入 reduce;

中文翻译  help(reduce)

有助于减少_functools内置功能模块:

减少(…)

减少(函数,序列[初始值])>值

采用两参数累积到一序列的项的功能,

从左到右,以便将序列减少到单个值。

例如,减少(λx,y x,y,[ 1, 2, 3,4, 5 ])计算

(((1 + 2)+ 3)+ 4)+ 5)。如果初始存在,则将其放在项目之前。

在计算中的序列中,当

序列为空。

 

reduce例子

blob.png

运行 代码

def c(x,y):
    return x+y
reduce(c,[1,2,3,4,5])

表达含义

定义 函数 c 需要 用到两个值(x,y):

返回两个值相加的结果 return x+y

reduce需要函数才能使用

reduce(c,[1,2,3,4,5,]) 内置函数调用函数 使用

现在这个案例里面的,里面定义的函数c ,仅仅是为了 reduce服务的。

只会用到一次,所以像这样代码 在程序当中就没有必要让它出现。

可以选择  用 lambda 表达式,来定义它

 

blob.png

lambda 表达式 可以 没有 名字,

直接后面 就是 函数的参数,

有几个 写几个 参数 x,y : 后面 是返回 进行的操作;

返回的是一个对象,可以给它定义一个名字

cc = lambda 表达式 x,y:x+y

用法: lambda 定义了要两个值,就要给它两个值。

cc(2004,14)

表达式运行 两个值相加,

所以当 像 reduce 需要用到这种函数的时候,不用去单独为了它 定义一个函数,可以直接把lambda表达式 写进去。

blob.png

 

lambda 表达式

blob.png

运行代码

reduce(lambda x,y:x+y,[1,2,3,4,5])

表达含义

reduce 直接 (lambda x,y:x+y ,[1,2,3,4,5]后面是序列,可以任何方式得到它)

所以这种情况下,不需要去为了我这个函数能够工作,去单独定义一个函数放过来,可以直接用lambda表达式写到这就可以。

除了 reduce之外还有 类似的 列表处理函数,

都是需要 借助一个函数 来工作的。

 

序列处理函数
filter()

fiter 过滤的,依次列表取值,符合就返回出来
map

如果你要对列表每一个元素 进行 遍历,进行操作的话,用map,map也是依次取值,得到值 进行定义的运算,返回每一个值 运算的结果。

reducel

reduce为逐次操作list里的每项,接收的参数为2个,最后
返回的为一个结果

符合使用 条件的都可以使用,lambda表达式;

虽然看起来很整洁,可以不用单独运行一个东西,去定义一个函数。注意 这样代码,能不能一下能读懂,如果你读起来更加费力了,这不是Python追求的结果,不是什么都用 lambda表达式,也可以用列表 表达式,

他们都是对 一个序列进行操作;

 

列表表达式写法

lambda->列表表达式
◆map的例子,可以写成:
◆print [x * 2 + 10 for x in foo]

print ([x * 2 + 10 for x in foo])

python3中,去除了print语句,加入print()函数实现相同的功能。

 


◆filter的例子可以写成:
◆print[x for x in foo if x%3 == 0]

print([x for x in foo if x%3 == 0])

py3用法

 

 

所以这种东西,是根据你的实际需要,来选择用哪一个更合适,没有更合适

大多数情况下根据你的习惯、或者喜好来用。

率先使用 效率比较高的。

 

 

本章获取知识点

1.认识了 lambda表达式 语法

2.以及什么时候用

运用到这种只被执行一次函数的时候,可以定义一个lambda,摆在一个关键的位置就可以了。


2018-1.28日  王宇林



--结束END--

本文标题: Python的lambda表达式

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python的lambda表达式
    匿名表达式---lambda介绍匿名函数- 也是就lambda表达式。介绍几个 序列处理的函数,比如序列过滤、把所有元素都拿过来做某些操作,这种的序列处理函数。这样的函数都有一些特点,会借用别函数来进行操作。这里就会用到lambda ▷匿名...
    99+
    2023-01-31
    表达式 Python lambda
  • 【javaSE】 Lambda表达式与Lambda表达式的使用
    文章目录 🌳Lambda表达式的背景🚩Lambda表达式的语法🚩函数式接口 🎋Lambda表达式的基本使用🎄...
    99+
    2023-09-15
    开发语言 java Lambda表达式 源码
  • python lambda 表达式形式分析
    目录lambda表达式格式匿名的用法前言: 在日常开发的过程中,有时候会临时用到一些简单的函数,她们的业务逻辑会相对简单,简单到并不值得让他们留下名字,这个时候,就很值得使用匿名函数...
    99+
    2022-11-13
  • Python中的lambda表达式的用法
    本篇内容主要讲解“Python中的lambda表达式的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的lambda表达式的用法”吧!问:说说Python中的lambda表达式?...
    99+
    2023-06-19
  • python lambda表达式的格式是什么
    本篇内容介绍了“python lambda表达式的格式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:在日常开发的过程中...
    99+
    2023-06-29
  • Java Lambda 表达式
    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Java Lambda 表达式 Java L...
    99+
    2023-09-27
    java python 开发语言
  • Lambda表达式(JAVA)
    注:如果没有学过匿名内部类和接口不推荐往下看。 Lambda表达式的语法: (parameters) -> expression 或 (parameters) ->{ statements; } parameters:表示参数列表;->:可...
    99+
    2023-10-27
    java 开发语言 数据结构 lambda
  • 【Python】python map()函数和lambda表达式
    python map(fun,[arg]+)函数最少有两个参数,第一参数为一个函数名,第二个参数是对应的这个函数的参数(一般为一个或多个list)>>>def fun(x):...  &nbs...
    99+
    2023-06-02
  • python如何使用Lambda表达式
    这篇文章主要为大家展示了“python如何使用Lambda表达式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用Lambda表达式”这篇文章吧。Lambda表达式厌倦了定义用不...
    99+
    2023-06-27
  • C++中的Lambda表达式及表达式语句
    目录一、概念二、左值与右值三、类型转换四、操作符五、思考1、思考下面x变量是左值还是右值,有什么特性?2、思考一下以下赋值操作符的原始代码是怎样的?3、思考以下代码做了什么事情?一、...
    99+
    2022-11-12
  • 进阶JAVA篇- Lambda 表达式与 Lambda 表达式的省略规则
    目录         1.0 什么是 Lambda 表达式?         1.1 既然跟匿名内部类相关,先来回顾匿名内部类。          1.2 Lambda 表达式与匿名内部类之间的关系。         1.3 函数式接口  ...
    99+
    2023-10-20
    java python 开发语言
  • python中的lambda表达式用法详解
    本文实例讲述了python中的lambda表达式用法。分享给大家供大家参考,具体如下: 这里来为大家介绍一下lambda函数。 lambda 函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以...
    99+
    2022-06-04
    表达式 详解 python
  • Lambda表达式详解
    Lambda表达式 1. 为什么使用lambda表达式2. 入门案例3. lambda表达式组成4. lambda表达式使用4.1 语法格式一4.2 语法格式二4.3 语法格式三4.4 语法格...
    99+
    2023-09-01
    java jvm 算法
  • Python中 Lambda表达式全面解析
    什么是Lambda表达式 “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstra...
    99+
    2022-06-04
    表达式 Python Lambda
  • Python函数式编程之lambda表达
    一:匿名函数的定义 lambda parameter_list: expression二:三元表达式 条件为真时返回的结果 if 条件判断 else 条件为假的时候返回的结果三:map map(func(arg1, ar...
    99+
    2023-01-30
    函数 Python lambda
  • Python入门教程(二十)Python的Lambda表达式
    目录语法lambda 函数可接受任意数量的参数:为何使用 Lambda 函数?lambda 函数是一种小的匿名函数。 lambda 函数可接受任意数量的参数,但只能有一个表达式。 语...
    99+
    2023-05-17
    Python 表达式 Python Lambda
  • C++Lambda表达式详解
    目录概述语法分析捕获列表关键字声明示例捕获列表按值传递总结概述 C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda 的语法形式如下: ...
    99+
    2022-11-12
  • python3 lambda表达式详解
    技术背景 lambda表达式本身是一个非常基础的python函数语法,其基本功能跟使用def所定义的python函数是一样的,只是lambda表达式基本在一行以内就完整的表达了整个函数的运算逻辑。这里我们简单展示一些...
    99+
    2022-06-02
    python的lambda函数 python中lambda的用法 python lambda函数怎么用
  • java lambda表达式详解
    一、Lambda初识 我们知道,在Java中,接口是不能实例化的,但是接口对象可以指向它的实现类对象。如果接口连实现对象都没有呢?那还可以使用匿名类的方式,如下: public class JavaTest { public ...
    99+
    2023-09-15
    java servlet jvm
  • C#中Lambda表达式的用法
    从C#3.0开始,可以使用lambda表达式把实现代码赋予委托。lambda表达式与委托(https://www.jb51.net/article/244051.htm)直接相关。当...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作