匿名函数--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函数是指简单的代码片段,通常认为是不值得命名的函数,它不能重复使用,能方便程序员使用,增强代码可读性,降低代码出错概率. [ 捕获列表 ] (参数) -> ...
随机推荐
- 【学习笔记】深入理解js原型和闭包(7)——原型的灵活性
在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼(中秋节刚过完).压个啥样,就得是个啥样,不能随便动,动一动就坏了. 而在javascript中,就没有 ...
- Load average in Linux的精确含义
Man 上的解释: load average System load averages is the average number of processes that are either in a ...
- 登录脚本重构Element
登录脚本重构Element package com.gubai.selenium; import org.openqa.selenium.By; import org.openqa.selenium. ...
- MFC技术积累——基于MFC对话框类的那些事儿2
3. 绘图 3.1 对话框资源编辑 首先通过添加控件的方式来创建一个简单的绘图对话框如图所示,创建步骤为: 第一.在VC++6.0软件环境的灰色空白区域右击,选中Controls,然后会弹出一个控件对 ...
- scriptPubKey and scriptSig
First of all two matching scripts are used in two different transactions, one that transfers funds t ...
- JavaFX Chart设置数值显示
一.XYChart import javafx.application.Application;import javafx.geometry.NodeOrientation;import javafx ...
- js 时间戳 随机数 new Date().getTime()
一:时间转时间戳:javascript获得时间戳的方法有四种,都是通过实例化时间对象 new Date() 来进一步获取当前的时间戳 1.var timestamp1 = Date.parse(new ...
- 目标检测中bounding box regression
https://zhuanlan.zhihu.com/p/26938549 RCNN实际包含两个子步骤,一是对上一步的输出向量进行分类(需要根据特征训练分类器):二是通过边界回归(bounding-b ...
- c++ vector容器遍历方式
#include <vector> #include <iostream> class Test { public: int a; int b; int c; Test() { ...
- Android Studio中删除无效的字符串资源
1.定位到当前项目中的strings.xml文件 1.菜单栏找到"Analyze"->"Run Inspection By Name..."->输入 ...