map(f, Itera)  # 对每一个元素都使用f(x)

>>> sq = lambda x:x**2
>>> l = map(sq,[-1,0,1,2,-3])
>>> list(l)
[1, 0, 1, 4, 9]

当然也可以传入两个参数的:

>>> add = lambda x, y: x + y
>>> l = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
>>> list(l)
[3, 7, 11, 15, 19]

reduce(f, Itera)   # 对前一个x1,x2把结果f(x1,x2)继续和序列的下一个元素x3做累积计算f(f(x1,x2),x3)

函数f必须有两个参数x,y

>>> from functools import reduce
>>> def add(x,y): #定义一个相加函数
return x+y >>> reduce(add,[1,2,3,4,6])
16

add(x,y)是我们定义的一个函数,将add函数和[1,2,3,4,6]列表传入reduce函数,就相当于1+2+3+4+6 =16。即把结果继续和序列的下一个元素做累加。

即reduce的作用是:把结果继续和序列的下一个元素做累积计算。

filter(f, Itera)  # 根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的iterator

>>> is_odd = lambda x:x%2==1
>>> list(filter(is_odd, [1, 4, 6, 7, 9, 12, 17]))
[1, 7, 9, 17]

另外,map对象只能保持一次:被使用一次后其内容被清除

>>> numbers = 2,4,8.1
>>> numbers = map(lambda x:isinstance(x,(int,)),numbers)
>>> reduce(lambda x,y: x and y, numbers) # 使用numbers
False
>>> numbers
<map object at 0x000002A9753F7C50>
>>> list(numbers) # 内容被清除了
[] >>> numbers = 2,4,8.1
>>> numbers = map(lambda x:isinstance(x,(int,)),numbers)
>>> list(numbers) # 使用numbers
[True, True, False]
>>> list(numbers) # 内容被清除了
[] # 最好以列表保存
>>> numbers = 2,4,8.1
>>> numbers = list(map(lambda x:isinstance(x,(int,)),numbers))
>>> numbers
[True, True, False]
>>> reduce(lambda x,y: x and y, numbers)
False
# 当然元组以保存也行
>>> numbers = 2,4,8.1
>>> numbers = tuple(map(lambda x:isinstance(x,(int,)),numbers))
>>> numbers
(True, True, False)
>>> reduce(lambda x,y: x and y, numbers)
False

python的map与reduce与filter的更多相关文章

  1. Python【map、reduce、filter】内置函数使用说明(转载)

    转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...

  2. 【转】Python 中map、reduce、filter函数

    转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...

  3. Python【map、reduce、filter】内置函数使用说明

    题记 介绍下Python 中 map,reduce,和filter 内置函数的方法 一:map map(...) map(function, sequence[, sequence, ...]) -& ...

  4. Python:map()、reduce()、filter()的区别

    文章转于:https://blog.csdn.net/goupper1991/article/details/49803355 原文博主:https://blog.csdn.net/goupper19 ...

  5. python的map、reduce和filter(过滤器)函数(廖雪峰老师python基础)

    1.map 语法: map(func,Iterable) map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返 ...

  6. Python函数式编程中map()、reduce()和filter()函数的用法

    Python中map().reduce()和filter()三个函数均是应用于序列的内置函数,分别对序列进行遍历.递归计算以及过滤操作.这三个内置函数在实际使用过程中常常和“行内函数”lambda函数 ...

  7. 转:Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  8. Python里的map、reduce、filter、lambda、列表推导式

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  9. Python高阶函数map、reduce、filter、sorted的应用

    #-*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.support.wait import Web ...

随机推荐

  1. 1677 treecnt(贡献)

    1677 treecnt 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给定一棵n个节点的树,从1到n标号.选择k个点,你需要选择一些边使得这k个点通过选择的边联 ...

  2. [note]克鲁斯卡尔重构树

    克鲁斯卡尔重构树 又叫并查集重构树 大概在NOI2018之前还是黑科技 现在?烂大街了 主要是针对图上的对边有限制的一类问题 比如每次询问一个点u不能经过边权大于w的边能走到的第k大点权是多少 也就是 ...

  3. 我的Android进阶之旅------>Android关于dp(dip)、sp转px的工具类

    下面是一个工具类,提供了dp.sp.px之间相互转化的方法. import android.content.Context; /** * dp.sp 转换为 px 的工具类<br> * & ...

  4. JDBC请求

    做JDBC请求,首先需要两个jar包:mysql驱动-mysql-connector-java-5.1.13-bin.jar 和 sqlServer驱动-sqljdbc4.jar,将这两个jar包放到 ...

  5. 学习Hive和Impala必看经典解析

    Hive和Impala作为数据查询工具,它们是怎样来查询数据的呢?与Impala和Hive进行交互,我们有哪些工具可以使用呢? 我们首先明确Hive和Impala分别提供了对应查询的接口: (1)命令 ...

  6. SQLServer: 用 ApexSQLLog 恢复 SQL Server 数据

    https://blog.csdn.net/yenange/article/details/50512312

  7. 算法题 19 二叉平衡树检查 牛客网 CC150

    算法题 19 二叉平衡树检查 牛客网 CC150 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1. 给定指向树根结点的指针TreeNode* ro ...

  8. SQL SERVER 存储/ 存储结构 内部数据结构

      资料: http://www.cnblogs.com/woodytu/p/4488930.html

  9. PAT 天梯赛 L1-020. 帅到没朋友 【STL】

    题目链接 https://www.patest.cn/contests/gplt/L1-020 思路 对于每个 K >= 2 的朋友圈,里面的所有 ID 都用 MAP 标记一下 对于每个 K = ...

  10. Loadrunder之脚本篇——参数类型

    Internal data Date/Time,Group Name,Iteration Number,Load Generator Name,Ramdom Number,Table,Unique N ...