• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python map和reduce函数用法示例

Python map和reduce函数用法示例

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python map reduce,map reduce,map reduce原理,map 0 reduce 0%,map and reduce等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

先看map。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

举例说明,比如我们有一个函数a(x)=x*2,要把这个函数作用在一个list [1, 2, 3, 4, 5]上,就可以用map()实现如下:
>>> def a(x):
...     return x * 2
...
>>> map(a, [1,2,3,4,5])
[2, 4, 6, 8, 10]
</div>

map传入的第一个参数a,即a函数,当然你也可以不用map函数实现这功能:

>>> list = []
>>> for i in [1, 2, 3, 4, 5]:
...     list.append(a(i))
...
>>> print list
[2, 4, 6, 8, 10]
</div>

从代码量上来讲,map要精简很多,所以,map()作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的a(x)=x*2,还可以计算任意复杂的函数,比如,把这个list所有数字转为字符串:

>>> map(str,[1,2,3,4,5])
['1', '2', '3', '4', '5']
>>>
</div>

只需要一行代码,就搞定了。让我们再看和来自顾雪峰python教程的习题:利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:[‘adam', ‘LISA', ‘barT'],输出:[‘Adam', ‘Lisa', ‘Bart']。作为我个人来说,我可能会先将不规范的英文名全转换在小写然后再通过capitalize()函数,将首字母转换在写,代码如下:

>>> def caps(name):
...     return name.capitalize()
...
>>> def lowers(name):
...     return name.lower()
...
>>> map(caps, map(lowers,['adam', 'LISA', 'barT']))
['Adam', 'Lisa', 'Bart']
</div>

再看reduce的用法。reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和:

>>> def add(x, y):
...     return x + y
...
>>> reduce(add, [1, 3, 5, 7, 9])
25
>>> reduce(add, range(1, 11))
55
>>> reduce(add, range(1, 11),20)
75
</div>

当然求和运算可以直接用Python内建函数sum(),没必要动用reduce。但是如果要把序列[1,2,3,4,5,6,7]变换成整数1234567,reduce就可以派上用场:

>>> def fn(x, y):
...     return x * 10 + y
...
>>> reduce(fn, [1,3,4,5,6,7])
134567
</div>

</div>

您可能想查找下面的文章:

  • python用reduce和map把字符串转为数字的方法
  • Python中map,reduce,filter和sorted函数的使用方法
  • Python中的map()函数和reduce()函数的用法
  • Python中的map()函数和reduce()函数的用法
  • Python map和reduce函数用法示例
  • Python中的map、reduce和filter浅析
  • Python中的map、reduce和filter浅析

相关文章

  • 浅谈Python中chr、unichr、ord字符函数之间的对比
  • Python实现将绝对URL替换成相对URL的方法
  • python判断windows系统是32位还是64位的方法
  • python字典基本操作实例分析
  • Python实现Windows上气泡提醒效果的方法
  • Python减少循环层次和缩进的技巧分析
  • python将文本转换成图片输出的方法
  • python使用xmlrpc实例讲解
  • Python使用urllib2模块抓取HTML页面资源的实例分享
  • python常见排序算法基础教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 安装ElasticSearch搜索工具并配置Python驱动的方法
    • Python深入学习之装饰器
    • Python数组遍历的简单实现方法小结
    • Python开发实例分享bt种子爬虫程序和种子解析
    • 使用Python中的greenlet包实现并发编程的入门教程
    • 简单谈谈python的反射机制
    • 使用Python编写基于DHT协议的BT资源爬虫
    • Python greenlet实现原理和使用示例
    • 使用Python的Django框架实现事务交易管理的教程
    • 在python的类中动态添加属性与生成对象

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有