一  reduce() 函数 是python 的 模块的内容,是关于累 的 计算

  在调用的时候先导入reduce模块

  reduce() 接收的参数有两个,reduce(function,sequence)

  reduce() 对 sequence (序列) 中的每一个元素反复调用function,并返回最终结果

from functools import reduce

def func(a,b):
return a+ b
ret = reduce(func,[1,2,3,4,5])
print(ret)

ret = reduce(lambda x ,y:x+y,[1,2,3,4,5])
print(ret) 
s = sum([1,2,3,4,5])
print(s)
# 结果是  15

  上述计算实际上是对 list 的所有元素求和,虽然 python 内置了求和函数 sum,

  但是利用 reduce()也很简单

  reduce() 还可以接受第3个参数,作为计算的初始值,如果把初始值设置成100,计算:

from functools import reduce

def func(a,b):
return a+ b ret = reduce(func,[1,2,3,4,5],100)
print(ret) # 结果就是 115

二 map()函数 是 python 内置的高阶函数,map(func,iter1)

  它接收一个函数func 和 一个 list,并通过把函数func 依次作用在 list 的每一个元素上

  得到一个新的list 并返回

  例如: 对于list[1,2,3,4,5,6,7,8,9]

  如果 希望把 list 的每一个元素都作 平方,就可以用函数 map()

  因此,我们只需要传入 函数 f(x) = x * x ,就可以利用 map()函数完成这个计算

lst = [1,2,3,4,5,6,7,8,9]

# 1.可以用函数方法实现

def func(x):
return x * x ret = list(map(func,lst))
print(ret) # 2.可以用 lambda 函数实现
ret = list(map(lambda x:x**2,lst))
print(ret) #3. for 循环也可以做到
lst_new = []
for i in lst:
lst_new.append(i *i)
print(lst_new) # 输出结果清一色的: [1, 4, 9, 16, 25, 36, 49, 64, 81]

  注意: map() 函数不改变原有的list,而是返回一个新的 list

      利用 map()函数,可以把一个 list 转换为 另外一个 list,只需要传入转换函数

由于 list 包含的元素可以是 任何类型,因此,map() 不仅仅可以处理只包含数值的list

事实上它可以处理包含任意类型的list,只需要传入的 func 可以处理这类数据类型

关于 reduce 和 map的更多相关文章

  1. 高阶函数复习:利用reduce和map把字符串转为数字

    复习高阶函数的时候,有一道题想了半天解不出来.看了下别人的解法,发现学习编程,思维真的很重要. 习题: 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数1 ...

  2. Python中Lambda, filter, reduce and map 的区别

    Lambda, filter, reduce and map Lambda Operator Some like it, others hate it and many are afraid of t ...

  3. Python一个有意思的地方:reduce、map、filter

    今天阅读了关于Python函数式编程的系列文章,地址在这里: http://www.cnblogs.com/huxi/archive/2011/06/24/2089358.html 里面提到了四个内建 ...

  4. python用reduce和map把字符串转为数字的方法

    python用reduce和map把字符串转为数字的方法 最近在复习高阶函数的时候,有一道题想了半天解不出来.于是上午搜索资料,看了下别人的解法,发现学习编程,思维真的很重要.下面这篇文章就来给大家介 ...

  5. python-lambda、filter、reduce、map

    python-lambda.map.filter.reduce lamdba python关键字,用于在表达式中创建匿名函数. 注意:lambda函数的定义体只能用纯表达式,不能赋值,不能使用whil ...

  6. 数组reduce和map方法

    1.有一个长度为100的数组,请以优雅的方式求出该数组的前10个元素之和 var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],sum ...

  7. python几个重要的函数(lambda,filter,reduce,map,zip)

    一.匿名函数lambda lambda argument1,argument2,...argumentN :expression using arguments 1.lambda是一个表达式,而不是一 ...

  8. 内置函数,重要的四个reduce,map,lambda,filter

    #filter过滤器#filter(函数,列表)#把列表里的元素序列化,然后在函数中过滤# str=["a","b","c","d ...

  9. reduce,map,filter 的用法

    # filter用法 (对每一个数据进行筛选,满足条件的就保留)# 1,filter(功能函数,容器类型数据)# 2,过滤出来是一个地址,用list,或tuple进行包装# 3,过滤出来的是原容器类型 ...

  10. python的reduce,map,zip,filter和sorted函数

    一.    reduce(function,Iterable),它的形式和map()函数一样.不过参数function必须有两个参数. reduce()函数作用是:把结果继续和序列的下一个元素做累积计 ...

随机推荐

  1. windows10环境下pip安装Scrapy报错

    问题描述 当前环境win10,python_3.6.1,64位. 在windows下,在dos中运行pip install Scrapy报错: building 'twisted.test.raise ...

  2. 使用 bash 脚本把 GCE 的数据备份到 GCS

    目录 一.Google Cloud Storge 介绍 1.1.四种存储类别的比较 1.2.需求 1.3.给虚拟机添加授权认证 二.备份操作 2.1 创建存储分区 2.2 上传对象到存储分区 2.3 ...

  3. TCP/IP和OSI/RM以及协议端口

    TCP/IP:数据链路层:ARP,RARP网络层: IP,ICMP,IGMP传输层:TCP ,UDP,UGP应用层:Telnet,FTP,SMTP,SNMP. OSI:物理层:EIA/TIA-232, ...

  4. 【FFMPEG】ffmpeg 中添加264支持

    ffmpeg 中带有264的解码,没有编码,需要添加x264: 参考百度上的"windows_ffmpeg编译 " 文档 下载ffmpeg 代码合x264代码, ffmpeg 代码 ...

  5. 【DSP开发】如何获得浮点型的数据的IEEE的表示

    [DSP开发]如何获得浮点型的数据的IEEE的表示 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 浮点数的存储规范,由IEEE指定的,具体的规范文件是:IE ...

  6. 最新 朗玛信息java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.朗玛信息等10家互联网公司的校招Offer,因为某些自身原因最终选择了朗玛信息.6.7月主要是做系统复习.项目复盘.Leet ...

  7. css常见双栏和三栏布局

    左侧固定右侧自适应 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. python3中django-admin找不到core的解决方法

    今天在测试django-admin startproject mysite时,出现以下问题: ImportError: No module named django.core 在执行此命令之前,我将d ...

  9. poj3449(判断直线相交)

    题目链接:https://vjudge.net/problem/POJ-3449 题意:给出若干几何体,判断每个几何体与其它几何体的相交情况,并依次输出. 思路: 首先要知道的是根据正方形对角线的两个 ...

  10. MySQL数据库CPU飙升紧急处理方法

    MySQL数据库CPU飙升紧急处理方法 运行平稳的数据库,如果遇到CPU狂飙,到80%左右,那一定是开发写的烂SQL导致的,DBA首先要保证的是,数据库别跑挂了,所以我们要把那些运行慢的SQL杀死并记 ...