python中 lambda, map ,filter ,reduce讲解
lambda
是匿名函数 同来表达简单的函数
使用lambda函数应该注意的几点:
lambda定义的是单行函数,如果需要复杂的函数,应该定义普通函数
lambda参数列表可以包含多个参数,如 lambda x, y: x + y
lambda中的表达式不能含有命令,而且只限一条表达式
默认返回表达式中的计算结果
例子,外部传参数
加法 。x,y为参数,返回x+y
f=lambda x,y:x+y
c=f(5,6)
print(c)
#c=11
直接传参数
两个括号,第一个括号把lambda括起来,第二个括号传入实参。
f=(lambda x,y:x+y)(5,6)
print(f)
#结果11
其他
import numpy as np
f=(lambda x,y:x+y)(5,6)
print(f)def f1(x,y):return x+y
f2=(lambda x,y:f1(x,y))(5,6)
print(f2)
结果都是11
python序列内置函数
map ,filter ,reduce都是python 内置的序列处置函数。
map
map函数的原型是map(function, iterable, …),它的返回结果是可迭代对象。
参数function传的是一个函数名,可以是python内置的,也可以是自定义的。
参数iterable传的是一个可以迭代的对象,例如列表,元组,字符串这样的。
这个函数的意思就是将function应用于iterable的每一个元素。注意到没有,iterable后面还有省略号,意思就是可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用function。如果一个iterable参数比另外的iterable参数要短,多余的将被舍弃。
f=lambda x,y:x+y
c=map(f,[1,2,3,4],[2,3,4,5,6])
print(c)
c=list(c)
print(c)
filter
filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个序列,函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新的序列Iterator
#例子 过滤掉小于0的数
def f(x):if x>0:return x
c1=filter(f,[-1,-2,3,4,-7])
c=list(filter(f,[-1,-2,3,4,-7]))
print(c1)
print(c)
reduce
reduce函数与map函数有不一样地方,map操作是并行操作,reduce函数是把多个参数合并的操作,也就是从多个条件简化的结果。
reduce(function, sequence, initial)
sequence可迭代对象
function函数
initial初始值:只能指定一个,如果有多个参数,其余从sequence选
function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。
第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。
#计算1到5的阶乘
def add(x, y):return x * y
print(reduce(add, [1,2,3,4,5]))
结果120
4*计算1到5的阶乘
from functools import reduce
def add(x, y):return x * y
print(reduce(add, [1,2,3,4,5],4))
结果480
python中 lambda, map ,filter ,reduce讲解相关推荐
- 什么是Python中的map,reduce和filter?
基本上,lambdas以及map,reduce和filter为python提供了函数式编程能力.让我们看看他们是什么. map: map函数采用 iterable(list,tuple,set)并将函 ...
- python filter函数_第九篇:Python中lambda、filter和map函数
修修心养养性 世无常贵,事无常师,靠人不如靠己. 大纲 函数类型定义及特性 lambda函数定义及使用 filter函数定义及使用 map函数定义及使用 引入函数类型概念 函数类型定义:python中 ...
- python中 lambda,map,zip,filter的一些基本用法
#zip用法,拉链 拉锁的作用t1=('a','b') t2=('c','d') print(list(zip(t1, t2))) print(dict(zip(t1, t2)))运行结果 [('a' ...
- python十九:map,filter,reduce函数
# 处理序列中的每个元素,得到的结果是一个'列表',该'列表'元素个数及位置与原来一样 def map_practice(func, lt_num):lt_new = []for i in lt_nu ...
- Python中的map和reduce函数简介
1.从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce( ...
- python中reduce是什么意思,python中的map和reduce有什么不同
从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce()函 ...
- Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)
文章目录 一.lambda是什么? 1.lambda语法 2.语法详解 二.lambda的使用 1.定义 2.调用 3.替换 4.作返回值 三.lambda作参数 1.map函数 2.reduce函数 ...
- Python中lambda、zip、map、reduce函数的使用
一.lambda表达式 lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数.lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新 ...
- python中的map,feilter,和reduce函数
python中的map,feilter,和reduce函数 map() map()的原型是map(function, iterable, -) 参数 function: 传的是一个函数名,可以是pyt ...
- python map filter reduce
本文记录python中,map,filter,reduce函数的用法. 参考链接: http://www.python-course.eu/lambda.php map map(func, seq) ...
最新文章
- 从浏览器市场份额,探究百度在移动互联网时代失败的原因
- 腾讯云服务器数据盘买多了,腾讯云Windows云服务器数据盘分区和格式化
- 克拉克拉(KilaKila):大规模实时计算平台架构实战 1
- javascript-复制
- C++提高部分_C++类模板对象做函数参数---C++语言工作笔记090
- 2018 “百度之星”程序设计大赛 - 初赛(A)P1002度度熊学队列(双端队列模拟,STL)
- M1 :Mac已可使用Parallels Desktop 16支持Windows
- 2010中国十大杰出IT博客大赛—唯有行动才能改造命运
- blob jdbc mysql_JDBC中级篇(MYSQL)——处理文件(BLOB)
- C语言 Linux网络编程(C/S架构) 在线词典
- [学习报告]《LeetCode零基础指南》第三讲循环-gyro
- java file seek_Java RandomAccessFile seek()方法
- MarkDown在线编辑器(支持公众号知乎)
- 单片空间后方交会Matlab程序
- 简单电路实践——电路与二进制运算
- 《2020年全球程序员收入报告》,看完报告我酸了!
- linux 磁盘碎片整理
- uniapp开发微信小程序生成二维码海报
- (转)JAVA 十六个常用工具类
- 彻底理解安卓应用无响应机制
热门文章
- java 对象转json,java首字母小写,判断方法是否为javabean方法
- 牛客题霸 NC7 买卖股票的最好时机
- Vue + ESLint——编译错误[‘xxx‘ is defined but never used]解决方案
- 处女座和小姐姐(三)
- opc服务器组态文件已写保护_「杰控软件」OPC代理服务,通过OPC方式采集远程OPC服务...
- 获取inout框中未改变值的数据_数据分析10——数据分析的基本过程(02)
- Bug整理——阿里Ons高版本引入后Spring项目不打印日志问题
- kisnetflt64.sys怎么删除
- python idle怎么用_python的idle如何使用
- definer= 授权_mysql常见问题之视图权限控制--安全性为DEFINER