1.map函数:map(func,可迭代对象):

①func可以是自定义的函数,也可以是功能简单的匿名函数(通过lambda定义)

②处理逻辑:表示将传入的可迭代对象依次循环,将每个元素按照传入的func逻辑进行处理,再依次返回给原对象,结果与原列表的元素个数、顺序一致

③在python2中map的处理结果是一个列表,在python3中结果是一个迭代器,可通过list( )转换为列表查看内容,迭代器只可以进行一次处理操作,之后会清空

print(list(map(lambda x:x*2,[1,6,3,7])))---使用匿名函数
#执行结果为[1,36,9,49]
li=[-3,0,2,-8,5]
def cal(a):
if a>=0:
pass
else :
a=-a
return a
print('将负数转化为正数',list(map(cal,li))) #使用自定义函数,传给map函数是自定义函数的函数名
#将负数转化为正数 [3, 0, 2, 8, 5]

2.filter函数:filter(func,可迭代对象):

①func可以是自定义的函数,也可以是功能简单的匿名函数(通过lambda定义)

②处理逻辑:表示将传入的可迭代对象依次循环,将每个元素按照传入的func逻辑进行处理,处理结果返回一个布尔值,真则保留,否则删除这个元素

③与map函数类似,filter函数在python3中的结果是一个迭代器,需通过list( )转换为列表查看内容

print(list(filter(lambda x:len(x)>5,['abcde','','abcdefg',''])))
#执行结果为['1234567', 'abcdefg']
a=['abcde','','abcdefg','']
def f(x):
if len(x)<5:
return True
else :
return False print('保留长度小于5的元素',list(filter(f,a)))
#执行结果为:保留长度小于5的元素 ['123']

3.reduce函数:reduce(func,可迭代对象[,初始值]):

①reduce函数使用之前需要先通过functools模块导入from functools import reduce

②func可以是自定义的函数,也可以是功能简单的匿名函数(通过lambda定义)

③处理逻辑:表示将传入的可迭代对象依次循环,将所有元素按照传入的func逻辑进行处理,最后得到一个值

from functools import reduce
print('原列表为[1,3,6,8],所有元素相加所得结果为',reduce(lambda x,y:x+y,[1,3,6,8]))
#执行结果为:原列表为[1,3,6,8],所有元素相加所得结果为 18
from functools  import reduce
array=['','abc','456def','g']
def f(x,y):
return x+y print('用haha拼接结果为',reduce(f,array,'haha')) #指定初始值
#执行结果为:用haha拼接结果为 haha123abc456defg---可看出字符串拼接时,指定的初始值放在最开头位置

python map函数、filter函数、reduce函数的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

  7. Map、Filter和Reduce函数(Python)

    Map map(function_to_apply, list_of_inputs) 设有以下代码: >>> items = [1, 2, 3, 4, 5] >>> ...

  8. 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, ...

  9. Python -- map, Lambda, filter and reduce

    map(func, seq)对seq中的每一个元素,调用func并返回结果.典型的应用是使用lambda函数. >>> def square(x): return x**2 > ...

  10. python的map,filter,reduce学习

    python2,python3中map,filter,reduce区别: 1,在python2 中,map,filter,reduce函数是直接输出结果. 2,在python3中做了些修改,输出前需要 ...

随机推荐

  1. Python实用笔记 (1)字符串与编码

    历史:Ascll-Unicode-UTF-8 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符: >>> ord('A') ...

  2. Kubernetes 两步验证 - 使用 Serverless 实现动态准入控制

    作者:CODING - 王炜 1. 背景 如果对 Kubernetes 集群安全特别关注,那么我们可能想要实现这些需求: 如何实现 Kubernetes 集群的两步验证,除了集群凭据,还需要提供一次性 ...

  3. 问题: No module named _gexf 解决方法

    最近在参与一个社交网络数据可视化的项目,要在后端将社交网络信息组建成网络传至前端以使其可视化.前端使用Echart显示网络,后端要通过Python的Gexf库组建网络. Gexf库安装过程为: pip ...

  4. Spring Security(四) —— 核心过滤器源码分析

    摘要: 原创出处 https://www.cnkirito.moe/spring-security-4/ 「老徐」欢迎转载,保留摘要,谢谢! 4 过滤器详解 前面的部分,我们关注了Spring Sec ...

  5. [JAVA]标准IO流操作

    import java.io.*; /** * @Description: * @projectName:JavaTest * @see:PACKAGE_NAME * @author:郑晓龙 * @c ...

  6. day22 常用模块(上)

    一.时间模块 1 time模块 获取时间的三种格式: 第一种:time.time() 时间戳(timestamp):从1970年到现在的秒数 #应用场景:计算时间差 可以对时间加减,返回值为浮点型 p ...

  7. 数据可视化之DAX篇(二十)Think in DAX 之报表自动化实践

    https://zhuanlan.zhihu.com/p/107672198 ​本文来自星友袁佳林的实践分享,他参加了PowerBI星球中的DAX圣经第二版100天学习打卡活动,已持续分享近100天, ...

  8. Python之 爬虫(十二)关于深度优先和广度优先

    网站的树结构 深度优先算法和实现 广度优先算法和实现 网站的树结构 通过伯乐在线网站为例子: 并且我们通过访问伯乐在线也是可以发现,我们从任何一个子页面其实都是可以返回到首页,所以当我们爬取页面的数据 ...

  9. python面向对象07/异常处理

    python面向对象07/异常处理 目录 python面向对象07/异常处理 1. 异常错误分类 2. 什么是异常? 3. 异常处理 4. 为什么要有异常处理 5. 异常处理的两种方式 1.if判断 ...

  10. ValueError: X needs to contain only non-negative integers.

    for feature in short_cate_feature: enc.fit(data[feature].values.reshape(-1, 1)) base_train_csr = spa ...