博客
关于我
高阶函数-语法糖-lambda(三分钟读懂)
阅读量:344 次
发布时间: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/

你可能感兴趣的文章
Nginx配置参数中文说明
查看>>
Nginx配置后台网关映射路径
查看>>
nginx配置域名和ip同时访问、开放多端口
查看>>
Nginx配置多个不同端口服务共用80端口
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-动静分离实例:搭建静态资源服务器
查看>>
Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
nginx配置详解、端口重定向和504
查看>>
Nginx配置负载均衡到后台网关集群
查看>>
Nginx配置限流,技能拉满!
查看>>
Nginx面试三连问:Nginx如何工作?负载均衡策略有哪些?如何限流?
查看>>
Nginx:NginxConfig可视化配置工具安装
查看>>
ngModelController
查看>>
ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
查看>>
ngrok内网穿透可以实现资源共享吗?快解析更加简洁
查看>>
NHibernate学习[1]
查看>>
NHibernate异常:No persister for的解决办法
查看>>