博客
关于我
高阶函数-语法糖-lambda(三分钟读懂)
阅读量:332 次
发布时间:2019-03-04

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

匿名函数 lambda 函数表达式

1.lambda函数表达式专门用来创建一些简单的函数,他是函数创建的又一种方式

2.语法:lambda 参数列表 : 返回值
3.匿名函数一般都是作为参数使用,其他地方一般不会使用

高阶函数

(符合一个即可)
① 接收一个或多个函数作为参数
② 将函数作为返回值返回

例一

语法:(lambda a,b : a + b)(参数)

def fn1(a,b):    return a + b    fn2 = lambda a,b : a + b # 语法:lambda 参数列表 : 返回值                # fn1 和fn2 的功能是一样的print(fn1)      # 执行返回为 
说明这是一个函数print(fn2) # 执行返回为
at 0x02CCF460> 说明这是一个函数 只是赋值给了fn2 显示的内存地址为fn2罢了print(lambda a,b : a + b) # 执行返回为
at 0x0160F418> 说明这是一个函数print(fn1(2,3)) # 执行返回为 5 print(fn2(2,3)) # 执行返回为 5 print((lambda a,b : a + b)(2,3)) # 执行返回为 5

例二:

在列表中筛选 filter(lambda x : x % 2 == 0,i)

在列表中做指定的操作 map(lambda i : i + 1 , x)

# 在列表中筛选i = [1,2,3,4,5,6,7,8,9,10]a = filter(lambda x : x % 2 == 0,i)#  一般不这么用  尽量少写代码 print(list(a))                  # 执行返回为 [2, 4, 6, 8, 10]# 在列表中做指定的操作x = [1,2,3,4,5,6,7,8,9,10]a = map(lambda i : i ** 3 , x)b = map(lambda i : i + 1 , x)print(list(a))# 执行返回为 [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]print(list(b))# 执行返回为 [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]print(a) # 执行返回为  #需要使用print() 才能查看print(b) # 执行返回为  #需要使用print() 才能查看# map()# map()函数可以对可跌倒对象中的所有元素做指定的操作,然后将其添加到一个新的对象中返回# filter()# filter()可以从序列中过滤出符合条件的元素,保存到一个新的序列中# 参数:(1.函数,根据该函数来过滤序列(可迭代的结构),2.需要过滤的序列(可迭代的结构))# 返回值:过滤后的新序列(可迭代的结构)

转载地址:http://tzke.baihongyu.com/

你可能感兴趣的文章
JAVA带标签的break和continue
查看>>
(C++11/14/17学习笔记):线程启动、结束,创建线程多法、join,detach
查看>>
A Guide to Node.js Logging
查看>>
HTML 和 CSS 简单实现注册页面
查看>>
1.2.3 项目、项目集、项目组合以及运营管理之间的关系
查看>>
892 三维形体的表面积(分析)
查看>>
875 爱吃香蕉的珂珂(二分查找)
查看>>
Dijkstra算法的总结
查看>>
Vue实现选项卡功能
查看>>
vue中接收后台的图片验证码并显示
查看>>
趣谈win10常用快捷键
查看>>
王爽 《汇编语言》 读书笔记 三 寄存器(内存访问)
查看>>
IDEA出现问题:Received fatal alert: protocol_version 解决方案
查看>>
Airtest自动化测试 Docs airtest.core.android package
查看>>
JDK 内置的多线程协作工具类的使用场景
查看>>
Java 中哪些对象可以获取类对象
查看>>
11.2.6 时间值的小数秒
查看>>
Redis源码分析(七)--- zipmap压缩图
查看>>
自定义Hive Sql Job分析工具
查看>>
【MySQL】(九)触发器
查看>>