匿名函数--lambda函数
匿名函数
匿名函数:为了解决一些功能很简单的需求而设计的一句话函数 (python对匿名函数支持有限,只有一些简单的条件下可以用匿名函数)
匿名函数固定格式:
func = lambda *args: args**2 #func:函数名 lambda:关键字 args:参数 args**2:返回值(参数的平方运算)
示例:
def func(n):
return n*2
print(func(5)) #
等价于:
func = lambda n:n*2 #匿名函数,又叫 lambda表达式
print(func(5)) #
匿名函数能和 三元表达式,列表推导式,生成器表达式 一起用
func1 = lambda n: True if n > 5 else False # 匿名函数+三元表达式
print(func1(4)) #False func2 = lambda : [i for i in range(10)] # 匿名函数+列表推导式
print(func2())
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] func3 = lambda : (i for i in range(10)) # 匿名函数+生成器表达式
print(list(func3())) # func3是生成器,强制list()取值
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
匿名函数和 map(),filter(),soted(),max(),min() 一起用
字典:拿到最大值的键 dic = {'k1':10,'k2':100,'k3':30} func = lambda key: dic[key] # 返回键的值
t = max(dic,key=func) # dic等价于['k1','k2','k3'] key=func()拿到每个key的值,用值对比
#max(dic,key=lambda k:dic[k]) # 可以直接把匿名函数写成这样 (max() + lambda匿名函数)
print(t) # k2
想当于:
def func(key):
return dic[key]
a = max(dic,key=func) # max([-5,2,-4,3],key=abs)
print(a) # k2
------------ a = (map(lambda n: n**2,[1,2,3,4])) #lambda 匿名函数+ map()
print(list(a)) #[1, 4, 9, 16]
--------- ((('a'),('b')),(('c'),('d'))) 用匿名函数写成[{'a': 'c'}, {'b': 'd'}]
((('a'),('b')),(('c'),('d'))) # 等价于 (('a','b'),('c','d')) print(('a') == 'a') True
r = zip(('a','b'),('c','d')) # [('a', 'c'), ('b', 'd')]
t = map(lambda n: {n[0]:n[1]},r) # n 是 r 中的元组元素
print(list(t)) # [{'a': 'c'}, {'b': 'd'}]
匿名函数--lambda函数的更多相关文章
- Python新手学习基础之函数-lambda函数
lambda函数 在Python里除了用def定义函数外,还有一种匿名函数,也就是标题所示的lambda函数,它是指一类无需定义标识符(函数名)的函数或子程序. lambda函数的使用语法如下: la ...
- 10. 函数-lambda函数及高阶函数
一.匿名函数解析 关键字lambda表示匿名函数,冒号前面的n表示函数参数,可以有多个参数.匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果. 用匿名函数有 ...
- C++11—lambda函数
[1]lambda表达式语法定义 lambda表达式的语法定义如下: [capture] (parameters) mutable ->return-type {statement}; (1) ...
- python学习笔记12(函数三): 参数类型、递归、lambda函数
一.函数参数的类型 之前我们接触到的那种函数参数定义和传递方式叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个对参数的位置和个数都有严格的要求.而在Python中还有一种是通过参 ...
- 初窥c++11:lambda函数及其用法
转载于:点击打开链接 为什么需要lambda函数 匿名函数是许多编程语言都支持的概念,有函数体,没有函数名.1958年,lisp首先采用匿名函数,匿名函数最常用的是作为回调函数的值.正因为有这样的需求 ...
- Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数
Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数 目录 Pycharm使用技巧(转载) Python第一天 ...
- Python基础总结之认识lambda函数、map函数、filter() 函数。第十二天开始(新手可相互督促)
今天周日,白天在学习,晚上更新一些笔记,希望对大家能更好的理解.学习python~ lambda函数,也就是大家说的匿名函数.它没有具体的名称,也可以叫做一句话函数,我觉得也不过分,大家看下代码,来体 ...
- lambda函数小结
C++中的lambda函数 lambda函数是函数式编程中的概念,由C++11引入,成为现代C++中重要的特性. 所谓lambda函数就是匿名函数,语法结构: [capture list] (para ...
- Lambda函数到底是个什么
1 什么是Lambda函数 lambda函数是指简单的代码片段,通常认为是不值得命名的函数,它不能重复使用,能方便程序员使用,增强代码可读性,降低代码出错概率. [ 捕获列表 ] (参数) -> ...
随机推荐
- easybcd 支持 windows 10 和 ubuntu 14.04 双系统启动
家里计算机系统 windows 10 全新安装. 原本是双系统的,还有一个ubuntu. windows 10 安装以后,恢复ubuntu就是问题了. (事后经验:请不要立刻安装bcd修改工具) 最初 ...
- 原创 :单刷深渊 在Linux中系统安装mysql实战直播
[root@web108 tools]# ###开始装mysql 1添加用户 [root@web108 tools]# useradd -s /sbin/nologin -M mysql 2解压 [r ...
- Python Syntax Summary
# _*_ coding: utf-8 _*_ """########################################################## ...
- 执行BarTender
1.配置.btw模板 1.1.左侧创建“具名数据源” 1.2.条码属性,选择刚才的数据源 1.3.保存 2.配置.btin服务 2.1.点击 工具/Integration Builder” 2.2.创 ...
- 牛客OI赛制测试赛2 A 无序组数
链接:https://www.nowcoder.com/acm/contest/185/A来源:牛客网 题目描述 给出一个二元组(A,B) 求出无序二元组(a,b) 使得(a|A,b|B)的组数 无序 ...
- 洛谷p1049 01背包
dp水之旅背包 题目描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30,每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱 ...
- curl 模拟post请求
curl -H "Content-Type:application/json" -X POST --data '{"openId":"xxxxxxx& ...
- windows环境下Robot Framework的安装步骤
Robot Framework是由python编写的开源的用来做功能性测试的自动化测试框架.本文介绍Robot Framework在windows环境下的安装步骤. 安装python从python官网 ...
- rc-local.service服务启动失败,导致rc.local中的开机启动服务不能启动
chmod +x /etc/rc.d/rc.local 打开/etc/rc.local文件,将启动非后台执行的指令的最后添加 &,以使相关指令后台运行,然后启动服务 systemctl ...
- SONP 是什么
JSONP 是什么 说实话,我学了这么久,其实也没有好好了解这个东西,当然平常自己在前端方面也涉猎较浅. 1) jsonp 是什么 JSONP(JSON with Padding)是JSON的一种&q ...