python之Map函数 reduce 函数
转载:https://www.cnblogs.com/gongxr/p/7247855.html
# map()函数使用举例
# 功能:map()接受一个函数f和一个或多个list,将f依次作用在list的每个元素,得到一个新的列表
# 语法:map(方法名,列表,[列表2])
# 注意:map()函数的返回值需要强制转换成list类型,且不改变原列表值list_1 = [1, 2, 3, 4, 5]
list_2 = [1, 2, 3, 4, 5]# 单个参数
def double_function(number):return number * 2list_result = list(map(double_function, list_1))
print("单参数map结果:", list_result)# 多个参数
def multiply_function(m, n):return m * nlist_result = list(map(multiply_function, list_1, list_2))
print("多参数map结果:", list_result)
运行结果:
单参数map结果: [2, 4, 6, 8, 10]
多参数map结果: [1, 4, 9, 16, 25]
转载:https://www.cnblogs.com/XXCXY/p/5180245.html
reduce()函数也是Python内置的一个高阶函数。
reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
例如,编写一个f函数,接收x和y,返回x和y的和:
1
2
|
def f(x, y):
return x + y
|
调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:
1
2
3
4
5
|
先计算头两个元素:f( 1 , 3 ),结果为 4 ;
再把结果和第 3 个元素计算:f( 4 , 5 ),结果为 9 ;
再把结果和第 4 个元素计算:f( 9 , 7 ),结果为 16 ;
再把结果和第 5 个元素计算:f( 16 , 9 ),结果为 25 ;
由于没有更多的元素了,计算结束,返回结果 25 。
|
上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。
reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算:
1
|
reduce (f, [ 1 , 3 , 5 , 7 , 9 ], 100 )
|
结果将变为125,因为第一轮计算是:
计算初始值和第一个元素:f(100, 1),结果为101。
python之Map函数 reduce 函数相关推荐
- Python中map和reduce函数?
1.从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce( ...
- python3中map函数_python3中map()和reduce()函数
Python内建了map()和reduce()函数. 现在,我们用Python代码实现: def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, 7, ...
- python中map()函数使用,数据类型转换
python中map()函数进行数据转换 用法: map(function, iterable, -), 返回的是map型,(ps:python2中返回的是list型可以直接显示,但在python3中 ...
- Python中的map和reduce函数简介
1.从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce( ...
- pythonmapiter_018.Python迭代器以及map和reduce函数
一 迭代器 能被next进行调用,并且不断返回下一个值的对象 特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据 优点:需要数据的时候,一次取一个,可以大大 ...
- Python中lambda、zip、map、reduce函数的使用
一.lambda表达式 lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数.lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新 ...
- Python 3.x中reduce()函数完整用法
在Python 3.x中,reduce()不再是内置函数,而是移到了标准库functools中,需要先导入再使用,其官方解释如图所示: 从官方文档可知,该函数用法要点如下: 1)把一个双参数函数以累积 ...
- 逻辑运算map函数filter函数reduce函数
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20: 运算符 逻辑表达式 描述 实例 and x and y 布尔"与" - 如果 x 为 False,x a ...
- map、reduce函数
# -*- coding:utf-8 -*- # 传入一个数字,返回这个数字的平方 def calc(x):s = x * xreturn slist1 = [1,2,3,4,5,6,7,8,9,10 ...
最新文章
- K8s简单yaml文件运行例子deployment
- java获取焦点的组件_JAVA组件焦点的特性:获取组件时其顶层组件必须为可见的...
- ZooKeeper--一个具有高可用性的高性能协调服务
- python PyQt5 QtWidgets.QAbstractSlider类(QScrollBar,QSlider和QDial之类的小部件的公共超类)
- python 读取mongodb,python操作MongoDB
- 两数之和Python解法
- mysql-5.7中的innodb_buffer_pool_prefetching(read-ahead)详解
- 【我的物联网成长记9】物联网平台安全如何破?
- 相比于深度学习,传统的机器学习算法难道就此没落了吗,还有必要去学习吗?...
- 开宗明义—UEFI介绍 (二)
- PCA9685与 NXP1768单片机iic通信,扩展PWM端口。已调试成功。
- 网站建设以后如何处理死链接页面
- 图像处理叶片面积matlab,基于Matlab图像处理求植物叶片面积
- 资源下载https://msdn.itellyou.cn/
- python-合并两个列表并去重
- 再生核希尔伯特空间(RKHS)
- c++ overload 、override、overwrite
- git克隆时出现not fount问题
- 3GPP TR 38.885 Study on NR Vehicle-to-Everything (V2X) (Release 16)
- w10桌面不显示计算机了,电脑开机W10系统不显示桌面的解决方法
热门文章
- python评估不平衡数据集_Python Pandas:平衡不平衡的数据集(用于面板分析)
- vue-cli3.0之vue.config.js的配置项(注解)
- echarts轨迹图,各个城市线路图轨迹如何取值
- 订单管理系统(含源码)
- 万事开头难,用HTML写的第一个界面,收获颇多
- 【转】使用Jmeter针对ActiveMQ JMS Point To Point压力测试
- DB2常用傻瓜问题1000问(之一)
- js 位运算符 ~, ,| ,^
- 面试必备:HashMap底层数据结构?jdk1.8算法优化,hash冲突,扩容等问题
- 6、Flutter Error waiting for a debug connection: ProcessException: adb did not report f(转)