python中reduce和map简介

map(func,seq1[,seq2...]) :将函数func作用于给定序列的每个元素,并用一个列表来提供返回值;如果func为None,func表现为身份函数,返回一个含有每个序列中元素集合的n个元组的列表。
reduce(func,seq[,init]) :func为二元函数,将func作用于seq序列的元素,每次携带一对(先前的结果以及下一个序列的元素),连续的将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值:如果初始值init给定,第一个比较会是init和第一个序列元素而不是序列的头两个元素。
这篇文章主要介绍的是python利用reduce和map把字符串转为数字,下面话不多说,来看看详细的实现方法。
习题:
利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
解法及思路说明:
from functools import reduce
def str2float(s):
s = s.split('.') #以小数点为分隔符,把字符串分为两部分
def f1(x,y): #函数1,小数点之前的数用这个函数处理
return x * 10 + y
def f2(x,y): #函数2,小数点之后的数用这个函数处理
return x / 10 + y
def str2num(str): #函数3,用于把字符串'123'逐个变为数字
return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[str]
return reduce(f1,map(str2num,s[0])) + reduce(f2,list(map(str2num,s[1]))[::-1])/10
#最后一部是这个解法的精髓
#小数点前的数'123',用 x * 10 + y 正常求和就能得出123,小数点之后的数'456'要怎样才能得出0.456呢?
#首先把字符串'456'用list(map(str2num,s[1]))转成一个列表[4,5,6]
#然后用[::-1]切片的方式从后往前取,列表变为[6,5,4]
#然后把[6,5,4]利用reduce函数放到f2函数中计算,( 6 / 10 + 5) / 10 + 4 = 4.56,得出结果4.56
#再除以一个10,得出0.456,到此成功把字符串'456'变成了浮点数0.456
#把前后结果加起来,就得到了最终解,成功把字符串'123.456'变成了浮点数123.456
总结
以上就是这篇文章的全部内容,希望本文的内容对大家学习或使用python能带来一定的帮助,如果有疑问大家可以留言交流。
# python
# map
# reduce
# 字符串转数字
# map和reduce
# Python不使用int()函数把字符串转换为数字的方法
# python 数字类型和字符串类型的相互转换实例
# python中数字列表转化为数字字符串的实例代码
# 第一个
# 这篇文章
# 浮点数
# 作用于
# 返回值
# 的是
# 变成了
# 就能
# 来看看
# 就得
# 表现为
# 多说
# 到此
# 用在
# 转换成
# 两部分
# 加起来
# 转成
# 先前
# 而不是
相关文章:
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
如何挑选最适合建站的高性能VPS主机?
jQuery 常见小例汇总
如何快速搭建支持数据库操作的智能建站平台?
如何高效利用200m空间完成建站?
Bpmn 2.0的XML文件怎么画流程图
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何通过cPanel快速搭建网站?
制作证书网站有哪些,全国城建培训中心证书查询官网?
如何零成本快速生成个人自助网站?
如何在腾讯云服务器快速搭建个人网站?
如何在腾讯云服务器上快速搭建个人网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
,有什么在线背英语单词效率比较高的网站?
兔展官网 在线制作,怎样制作微信请帖?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
C#怎么创建控制台应用 C# Console App项目创建方法
代刷网站制作软件,别人代刷火车票靠谱吗?
如何在阿里云ECS服务器部署织梦CMS网站?
湖北网站制作公司有哪些,湖北清能集团官网?
如何在阿里云完成域名注册与建站?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
建站之星如何实现网站加密操作?
javascript中对象的定义、使用以及对象和原型链操作小结
如何用PHP快速搭建CMS系统?
Python多线程使用规范_线程安全解析【教程】
,制作一个手机app网站要多少钱?
html制作网站的步骤有哪些,iapp如何添加网页?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
建站之星导航菜单设置与功能模块配置全攻略
建站org新手必看:2024最新搭建流程与模板选择技巧
建站之星备案流程有哪些注意事项?
如何在万网开始建站?分步指南解析
大学网站设计制作软件有哪些,如何将网站制作成自己app?
内部网站制作流程,如何建立公司内部网站?
营销式网站制作方案,销售哪个网站招聘效果最好?
建站之星客服服务时间及联系方式如何?
深圳网站制作培训,深圳哪些招聘网站比较好?
建站之星代理如何优化在线客服效率?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
相册网站制作软件,图片上的网址怎么复制?
如何在建站之星绑定自定义域名?
建站之星免费模板:自助建站系统与智能响应式一键生成
MySQL查询结果复制到新表的方法(更新、插入)
Python文件管理规范_工程实践说明【指导】
深圳网站制作平台,深圳市做网站好的公司有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。