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的更多相关文章

  1. python一些内建函数(map,zip,filter,reduce,yield等)

    python一些内建函数(map,zip,filter,reduce,yield等) map函数 Python实际上提供了一个内置的工具,map函数.这个函数的主要功能是对一个序列对象中的每一个元素应 ...

  2. [译]PYTHON FUNCTIONS - MAP, FILTER, AND REDUCE

    map, filter, and reduce Python提供了几个函数,使得能够进行函数式编程.这些函数都拥有方便的特性,他们可以能够很方便的用python编写. 函数式编程都是关于表达式的.我们 ...

  3. Python Map, Filter and Reduce

    所属网站分类: python基础 > 函数 作者:慧雅 原文链接: http://www.pythonheidong.com/blog/article/21/ 来源:python黑洞网 www. ...

  4. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下   Py ...

  5. Map,Filter和Reduce

    转自:https://www.aliyun.com/jiaocheng/444967.html?spm=5176.100033.1.13.xms8KG 摘要:Map,Filter和Reduce三个函数 ...

  6. 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 ...

  7. python中 Lambda,Map,Filter,Itertools,Generator高级函数的用法

    Lambda 函数 Lambda 函数是一种比较小的匿名函数--匿名是指它实际上没有函数名. Python 函数通常使用 def a_function_name() 样式来定义,但对于 lambda ...

  8. python学习之map函数和reduce函数的运用

    MapReduce:面向大型集群的简化数据处理引文 map()函数 Python中的map()函数接收两个参数,一个是调用函数对象(python中处处皆对象,函数未实例前也可以当对象一样调用),另一个 ...

  9. js Array 中的 map, filter 和 reduce

    原文中部分源码来源于:JS Array.reduce 实现 Array.map 和 Array.filter Array 中的高阶函数 ---- map, filter, reduce map() - ...

随机推荐

  1. 最新wireshark抓包教程

    http://jingyan.baidu.com/article/d71306350f213b13fdf475b9.html 大家都知道,sniffer是一款收费产品, 要真正的学会使用,因为有许多的 ...

  2. BZOJ 2745: [HEOI2012]Bridge

    2745: [HEOI2012]Bridge Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 199  Solved: 90[Submit][Statu ...

  3. 【转】__ATTRIBUTE__ 你知多少

    __ATTRIBUTE__ 你知多少? GNU C 的一大特色就是__attribute__ 机制.__attribute__ 可以设置函数属性(Function Attribute ).变量属性(V ...

  4. Mininet 系列实验(五)

    实验内容 实现一个单个交换机的拓扑,添加一个交换机,和N个主机到网络中.交换机和主机之间的每个链路能够设置带宽.延迟时间.以及丢包率.创建一个包含一个交换机和四个主机的网络,使用iperf测试主机之间 ...

  5. bzoj2146 Construct

    题目描述 随着改革开放的深入推进…… 小T家要拆迁了…… 当对未来生活充满美好憧憬的小T看到拆迁协议书的时候,小T从一位大好的社会主义青年变成了绝望的钉子户. 由于小T的家位于市中心,拆迁工作又难以进 ...

  6. python【文件操作:读写文件】

    文件读写模式

  7. Ansible11:变量详解

    目录 简单说明 一.在Inventory中定义变量 二.在Playbook中定义变量 1.通过vars关键字定义 2.通过vars_files关键字引入变量文件 3.通过vars_prompt来实现人 ...

  8. include动作和include指令的区别

    1. include指令在被导入页面时,会与原有的jsp代码完全融合,共同生成同一个Servlet:而include动作则会在原有的jsp代码使用include方法而被导入页面,所以includ指令在 ...

  9. Lena与数字图像处理

    在数字图像处理中,Lena(Lenna)是一张被广泛使用的标准图片,特别在图像压缩的算法研究中. 黑白Lena图   标准Lena (为什么用这幅图,是因为这图的各个频段的能量都很丰富:即有低频(光滑 ...

  10. kibana做图表无法选取需要选的字段

    kibana做图表无法选取需要选的字段,即通过term的方式过滤选择某一个field时发现列表里无此选项. 再去discover里看,发现此字段前面带有问号,点击后提示这个字段未做索引,不能用于vis ...