Python之内建函数Map,Filter和Reduce
Python进阶
map,filter, reduce是python常用的built-in function。 且常与lambda表达式一起用。
其中:
map###
形式:map(function_to_apply, list_of_inputs) -> list
作用:map的作用是将一个序列的元素(通常是list),作为function的参数传入,返回list结构的结果.
用处:当我们想要将一个list的items 一个个按顺序传入一个function中,得到顺序的结果。可以考虑使用map。
demo1
一般的写法:
items = [1, 2, 3, 4, 5]
squared = []
for i in items:
squared.append(i**2)
demo2:
使用map的简洁写法:
def squarefun(x):
return x**2
items=[1,2,3,4,5]
squared = list(map(squarefun,items))
demo3:
使用lambda和map的最简洁写法:
因为lambda就可以表达一个function。
items = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, items))
result:
[1,4,9,16,25]
以上三个demo的作用是完全一样的,但是无疑demo3是最简洁的。
reduce###
形式:reduce(function, sequence) -> value
作用:reduce的作用是将sequence的元素(通常是list),一个接一个的作为参数的传入function(只能是两个参数的运算)中进行运算,上一个结果作为下一次运算的一个参数,另一个参数从sequence返回一个最终的结果。
demo4:
result = reduce((lambda x, y: x + y), [1, 2, 3, 4, 5])
#等同于
result2 = ((((1+2)+3)+4)+5)
# Output: 15
filter###
形式:filter(function or None,sequence) -> list,tuple or string
作用:返回那些sequence中的那些item,使得function(item)为真。如果function为None,则直接返回为真的item,返回类型和sequence的类型一致。
number_list = range(-5, 5)
less_than_zero = list(filter(lambda x: x < 0, number_list))
# Output: [-5, -4, -3, -2, -1]
filter###
Python之内建函数Map,Filter和Reduce的更多相关文章
- python一些内建函数(map,zip,filter,reduce,yield等)
python一些内建函数(map,zip,filter,reduce,yield等) map函数 Python实际上提供了一个内置的工具,map函数.这个函数的主要功能是对一个序列对象中的每一个元素应 ...
- [译]PYTHON FUNCTIONS - MAP, FILTER, AND REDUCE
map, filter, and reduce Python提供了几个函数,使得能够进行函数式编程.这些函数都拥有方便的特性,他们可以能够很方便的用python编写. 函数式编程都是关于表达式的.我们 ...
- Python Map, Filter and Reduce
所属网站分类: python基础 > 函数 作者:慧雅 原文链接: http://www.pythonheidong.com/blog/article/21/ 来源:python黑洞网 www. ...
- Python中的map()函数和reduce()函数的用法
Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下 Py ...
- Map,Filter和Reduce
转自:https://www.aliyun.com/jiaocheng/444967.html?spm=5176.100033.1.13.xms8KG 摘要:Map,Filter和Reduce三个函数 ...
- Map, filter and reduce
To add up all the numbers in a list, you can use a loop like this: Total is initialized to 0. Each t ...
- python中 Lambda,Map,Filter,Itertools,Generator高级函数的用法
Lambda 函数 Lambda 函数是一种比较小的匿名函数--匿名是指它实际上没有函数名. Python 函数通常使用 def a_function_name() 样式来定义,但对于 lambda ...
- python学习之map函数和reduce函数的运用
MapReduce:面向大型集群的简化数据处理引文 map()函数 Python中的map()函数接收两个参数,一个是调用函数对象(python中处处皆对象,函数未实例前也可以当对象一样调用),另一个 ...
- js Array 中的 map, filter 和 reduce
原文中部分源码来源于:JS Array.reduce 实现 Array.map 和 Array.filter Array 中的高阶函数 ---- map, filter, reduce map() - ...
随机推荐
- 【刷题】BZOJ 2959 长跑
Description 某校开展了同学们喜闻乐见的阳光长跑活动.为了能"为祖国健康工作五十年",同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动.一时间操场上 ...
- [LOJ3049] [十二省联考 2019] 字符串问题
题目链接 LOJ:https://loj.ac/problem/3049 洛谷:https://www.luogu.org/problemnew/show/P5284 BZOJ:https://www ...
- 点击--》java9 新特性 详解
引言: 点击-->java9 新特性 详解 点击-->java8 新特性 详解 正题: 1.局部变量var 将前端思想var关键字引入java后段,自动检测所属于类型,一种情况除外,不能为 ...
- Redis事务介绍
概述 相信学过Mysql等其他数据库的同学对事务这个词都不陌生,事务表示的是一组动作,这组动作要么全部执行,要么全部不执行.为什么会有这样的需求呢?看看下面的场景: 微博是一个弱关系型社交网络,用户之 ...
- 小技巧--tab键自动补齐Git命令
Git是什么,你不清楚? 好吧,那么该篇内容对你也木有帮助,请绕道而行.. 我们在使用Git命令时,可以通过tab键,自动补齐Git,特别是在切换分支时特别有用. 如下,当我们想将当前分支切换到bug ...
- BZOJ 1497 [NOI2006]最大获利
1497: [NOI2006]最大获利 Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前 ...
- openssl md5 sha256 rsa des
原文地址找不到了 #include <windows.h>#include <iostream>#include <cassert> #include <st ...
- [Java]-Java的版本演化
一.Java SE 8 Java SE 8发行于2014年3月18日,代号culture,这是一个在Java历史上的重大发布 Java SE 8 新特性: Lambda Expressions(Lam ...
- P1486 [NOI2004]郁闷的出纳员
P1486 [NOI2004]郁闷的出纳员 题目描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷 ...
- python---基础知识回顾(八)数据库基础操作(sqlite和mysql)
一:sqlite操作 SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以 ...