博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python-lambda用法
阅读量:5242 次
发布时间:2019-06-14

本文共 951 字,大约阅读时间需要 3 分钟。

前言:

lambda函数也叫匿名函数,即,函数没有具体的名称。


一、基础

lambda语句构建的其实是一个函数对象。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。

lambda(a,b: a+b)#关键字lambda表示匿名函数,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。

lambda优点:

1、使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
2、对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
3、使用lambda在某些时候让代码更容易理解。

举一个简单的例子:def f(x):  return x**2  print f(4)Python中使用lambda的话,写成这样g = lambda x : x**2print g(4)

 


二、进阶-内置函数

1、map()

遍历序列,对序列中每个元素进行操作,最终获取新的序列。

li = [11, 22, 33]sl = [1, 2, 3]new_list = map(lambda a, b: a + b, li, sl)print(list(new_list))结果输出为:>>>[12,24,36]

2、reduce()

对于序列内所有元素进行累计操作

from functools import reduceli = [11,22,33]result = reduce(lambda a,b:a+b,li)# reduce的第一个参数,函数必须要有两个参数# reduce的第二个参数,要循环的序列# reduce的第三个参数,初始值print(result)输出结果:>>>66

3、filter()

对于序列中的元素进行筛选,最终获取符合条件的序列

li = [11,22,33]new_list = filter(lambda a:a>22,li)print(list(new_list))#filter第一个参数为空,将获取原来序列输出结果:>>>[33]

 


以上~

转载于:https://www.cnblogs.com/xiaoxi-3-/p/8872492.html

你可能感兴趣的文章
AJAX 状态值(readyState)与状态码(status)详解
查看>>
noip模拟测试7
查看>>
ECC 6.0 Syntax Correction Message.5 There should only be definitions in the TOP include
查看>>
Shell入门基础
查看>>
Mathematica三维点插值算法(高维插值,多维插值)
查看>>
CImage(MFC)
查看>>
SPOJ GSS1 ~ 8解题报告 【完整版】
查看>>
WAR包方式安装Jenkins
查看>>
Spark Standalone Mode
查看>>
Codefroces 750C:New Year and Rating(思维)
查看>>
Mysql查询数据库表结构以及字段类型并展示
查看>>
jdk10运行springboot项目出现:Type javax.xml.bind.JAXBContext not present
查看>>
劫富济贫=匡扶正义
查看>>
Servlet和JSP
查看>>
bootstrap的使用
查看>>
洛谷P3216 [HNOI2011] 数学作业 [矩阵加速,数论]
查看>>
分享5个有帮助的CSS选择器
查看>>
如何搭建web服务器 使用Nginx搭建反向代理服务器 .
查看>>
android中状态栏透明
查看>>
SQL注入防御绕过——宽字节注入
查看>>