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() - ...
随机推荐
- 【JQuery】DOM元素
一.前言 接着上一章的内容,继续本章的学习. 二.内容 .get 获得由选择器指定的DOM元素, 可输入匹配元素的index编号 $(selector).get(index) .ind ...
- BZOJ 1499 [NOI2005] 瑰丽华尔兹 | 单调队列优化DP
BZOJ 1499 瑰丽华尔兹 | 单调队列优化DP 题意 有一块\(n \times m\)的矩形地面,上面有一些障碍(用'#'表示),其余的是空地(用'.'表示).每时每刻,地面都会向某个方向倾斜 ...
- 【模板】exBSGS/Spoj3105 Mod
[模板]exBSGS/Spoj3105 Mod 题目描述 已知数\(a,p,b\),求满足\(a^x\equiv b \pmod p\)的最小自然数\(x\). 输入输出格式 输入格式: 每个测试文件 ...
- bzoj5210最大连通子块和
题解: 考虑朴素的dp:$$f_{u} = max(\sum_{v} f_{v} + w_{u} , 0) \ \ \ \ h_{u} = max( max_{v} \{ h_{v} \} , h ...
- 【agc019F】Yes or No
Portal -->agc019F Description 给你\(n+m\)个询问,其中\(n\)个的答案是\(Yes\),\(m\)个的答案是\(No\),现在依次回答这些询问,每回答一个询 ...
- Angular http跨域
原文:Angular http跨域 - 飞翔的小仓鼠 - 博客园 var app = angular.module('Mywind',['ui.router']); app.controller('M ...
- imuxsock lost 353 messages from pid 20261 due to rate-limiting 解决办法
日志中出现大量一下日志时 May 24 18:42:08 yw_lvs2_backup rsyslogd-2177: imuxsock lost 353 messages from pid 20261 ...
- QT 菜单资源设置
版权声明 该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处! 导语 在前一篇中我们学习了使用资源文件为主窗口添加菜单图标.这次,我们 ...
- shell 变量定义使用
shell 中变量的几种类型: 1.局部变量:只在当前 shell 可用的变量, 2.环境变量:当前 shell 的子进程也可用的变量 3.shell 变量:一些由 shell 设置的特殊变量,如:$ ...
- Python3 笨方法 练习41(面向对象)详解及运行结果
#无尽模式训练你,检验所掌握的面向对象的单词和短语. import random from urllib.request import urlopen import sys WORD_URL = &q ...