Map函数


map函数的用法如下:

def add_one(x):
return x+1 #使用普通函数
v1 = map(add_one,[1,2,3])
v1 = list(v1)
print(v1) #打印结果为[2, 3, 4] #使用匿名函数,代码更为简洁
v2 = map(lambda x:x+1,[1,2,3])
v2 = list(v2)
print(v2) #打印结果为[2, 3, 4]

从代码可以看出,map()函数有两个传参,第一个为函数名,第二个为可迭代对象,效果是将可迭代对象的每一个元素放入函数中执行,然后把函数执行的返回值联合一起组成一个新的可迭代对象

filter函数


filter函数的用法如下:

def judge_sb(x):
return x.startswith("sb") #使用普通函数
v1 = filter(judge_sb,sb_list)
v1 = list(v1)
print(v1) #打印结果为['sb_001', 'sb_002'] #使用匿名函数,代码更为简洁
v2 = filter(lambda x:x.startswith("sb"),sb_list)
v2 =list(v2)
print(v2) #打印结果为['sb_001', 'sb_002']

从代码可以看出,filter()函数有两个传参,第一个为函数名,第二个为可迭代对象,效果是将可迭代对象的每一个元素放入函数中执行,然后把函数执行的返回值为真,就把那个传参保留,如果为假就舍弃,最终将传参联合一起组成一个新的可迭代对象

reduce函数


reduce函数的用法如下:

from functools import reduce   #要导入模块
def add(x,y):
return x+y #使用普通函数
v1 = reduce(add,[1,2,5,7])
print(v1) #打印结果为15 #使用匿名函数,代码更为简洁
v2 = reduce(lambda x,y:x+y,[1,2,5,7])
print(v2) #打印结果为15

从代码可以看出,filter()函数有两个传参,第一个为函数名,第二个为可迭代对象,效果是将可迭代对象的每一个元素进行类似累加、累乘这种压缩的操作,最后返回一个值

总结


#处理序列中的每个元素,得到的结果是一个可迭代对象,其元素个数及位置与原来一样

map()

#遍历序列中的每个元素,判断每个元素得到布尔值,如果True则留下来

filter()

#处理一个序列,然后把序列进行合并操作

reduce()

map函数、filer函数、reduce函数的用法和区别的更多相关文章

  1. 一个 Map 函数、一个 Reduce 函数和一个 main 函数

    MapReduce 最简单的 MapReduce应用程序至少包含 3 个部分:一个 Map 函数.一个 Reduce 函数和一个 main 函数.main 函数将作业控制和文件输入/输出结合起来.在这 ...

  2. Python的map、filter、reduce函数 [转]

    1. map函数func作用于给定序列的每个元素,并用一个列表来提供返回值. map函数python实现代码: def map(func,seq): mapped_seq = []        fo ...

  3. python中的map、filter、reduce函数

    三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str.   1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function ...

  4. filter、map、sorted和reduce函数

    内置函数——filter.map和reduce filter filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter ...

  5. python_08 函数式编程、高阶函数、map、filter、reduce函数、内置函数

    函数式编程 编程方法论: 1.面向过程 找到解决问题的入口,按照一个固定的流程去模拟解决问题的流程 (1).搜索目标,用户输入(配偶要求),按照要求到数据结构内检索合适的任务 (2)表白,表白成功进入 ...

  6. Python小白学习之路(十五)—【map()函数】【filter()函数】【reduce()函数】

    一.map()函数 map()是 Python 内置的高阶函数 有两个参数,第一个是接收一个函数 f(匿名函数或者自定义函数都OK啦):第二个参数是一个 可迭代对象 功能是通过把函数 f 依次作用在 ...

  7. map、filter、reduce函数的使用

    1.filter() 作用:过滤 // 1.筛选出大于30的数. const array = [10, 20, 30, 40, 50, 60, 70, 80] // 普通写法 // let newar ...

  8. python学习-day15:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

    ---恢复内容开始--- 一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与 ...

  9. python学习-day16:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

    一.作用域 作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 二.匿名函数 lambda:正常和其他函数进行配合使用.正常无需把匿名函数赋值给一个变量. f=lambda x:x*x p ...

  10. map、filter、reduce函数

    map #函数需要⼀个参数 m1 = map(lambda x:x*x,[1,2,3]) print(list(m1)) #函数需要两个参数 m2 = map(lambda x,y:x+y,[1,2, ...

随机推荐

  1. python/零起点(一、字符串)

    python/零起点(一.字符串) 字符串(str) 字符串是可迭代的 str()强制转成字符串类型 字符串是有序的,且不可变的数据类型. 字符串转换整型的案例: 1 name=['guobaoyua ...

  2. SpringMVC(七):@RequestMapping下使用POJO对象绑定请求参数值

    Spring MVC会按照请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值,支持级联属性. 如:address.city.dept.address.province等. 步骤一:定义Ac ...

  3. angularjs中的run()方法使用

    run方法用于初始化全局的数据,仅对全局作用域起作用. 举个栗子吧:<script type="text/javascript"> var m1 = angular.m ...

  4. 你真的会websocket吗

    Websocket WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端. WebSocket通信协议于2 ...

  5. 超级好用的前端开发测试Chrome插件-WEB前端助手(FeHelper)

    WEB前端助手(FeHelper)插件概述 WEB前端助手:FeHelper是一款chrome浏览器插件.包含一些前端实用的工具,如字符串编解码.代码美化.JSON格式化查看.二维码生成器.编码规范检 ...

  6. ES6 new syntax of Rest and Spread Operators

    Rest and Spread Operators.md Why we need rest and spread operators? var showCollections = function(i ...

  7. Angular CLI 安装

    安装Angular 官网的教程,因为国内网络环境原因,访问不了服务器,导致安装失败. 1.先安装NodeJs 安装教程:http://blog.csdn.net/zengmingen/article/ ...

  8. java面试2(java技术栈和Hollis面试内容分享)

    1.什么是java虚拟机? java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件. 2.什么是平台无关性,java是如何做到平台无 ...

  9. 在iview的Table中添加Select(render)

    首先对Render进行分析,在iview官方的文档中,找到了table插入Button的例子: { title: 'Action', key: 'action', width: 150, align: ...

  10. javascript的基础(2)--数据类型介绍

    1. number数据类型 所有的数字都是Number数据类型 利用typeof运算符可以返回当前数据的数据类型 特殊值:NaN not a number 不是一个数字 注意 :小数的计算可能产生丢失 ...