# -*- coding: utf-8 -*-
from functools import reducedef str2float(s):def fn(x, y):return x * 10 + ydef char2num(s):return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]# 得到字符串中.的索引n = s.index('.')# 根据.的位置将字符串切片为两段s1 = list(map(int, [x for x in s[: n]]))s2 = list(map(int, [x for x in s[n + 1 :]]))# m ** n表示m的n次方return reduce(fn, s1) + reduce(fn, s2) / 10 ** len(s2)# 测试结果是否正确
print('str2float(\'123.456\')=',str2float('123.456'))

答案非原创,只是对别人的答案进行了完善和总结。

总结:

map()函数接收两个参数,一个是函数,一个是Iterablemap将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。比如map(int,  ['1',  '2',  '3']) 就是把字符1、2、3都转换为int类型。

reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,就像这样:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

Python:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456相关推荐

  1. 【Python】利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456

    微信公众号 题目来源:[廖雪峰的官方网站-map/reduce] 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: from functo ...

  2. 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:

    题目:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: 来源:廖雪峰Python上的练习题 思路定位小数点,分割小数部分和整数部分,使用r ...

  3. 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456

    想转行做程序员,最近在看廖雪峰的python教程,年龄大了看算法很费劲,之前总是囫囵吞枣,急于求快最后啥都没学到,现在重新看一遍,刚刚把课后的作业想明白,跟其他人的答案比起来我的很拙劣,但是我依然很高 ...

  4. 编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年( fractional year)和闰年(leapyear)的问题

    编写一个程序,把您的年龄转换成天数并显示二者的值.不用考虑平年( fractional year)和闰年(leapyear)的问题 #include<stdio.h> int main(v ...

  5. python字符串转浮点数_Python字符串转换成浮点数函数分享

    Python字符串转换成浮点数函数分享 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 from functools import red ...

  6. python 如何把字符串转换成浮点数

    如何把字符串型数字'123.456'转换成float型数据 直接自带float就行啦 test1 ="123.456"test2 = '12.304'test3 = '12.34' ...

  7. 3、编写一个prod()函数,可以接受一个list并利用reduce()求积

    3.编写一个prod()函数,可以接受一个list并利用reduce()求积 # -*- coding: utf-8 -*-from functools import reducedef prod(L ...

  8. C++ 利用结构体数组编写一个程序,对10名小学生的信息进行管理,学生结构体的成员包括姓名、学号、年龄、语文成绩、数学成绩、英语成绩、三门课总分等

    利用结构体数组编写一个程序,对10名小学生的信息进行管理,学生结构体的成员包括姓名.学号.年龄.语文成绩.数学成绩.英语成绩.三门课总分等,具体要求如下: (1)要求通过键盘完成各位小学生的信息录入( ...

  9. python tkinter计算器实例_使用Python自带GUI tkinter编写一个期权价格计算器

    0 准备工作 首先,确认环境中有numpy.scipy.stats和tkinter三个功能包.前两个功能包可用于Python的数学计算,比如使用numpy来生成随机数用于Monte Carlo模拟,以 ...

最新文章

  1. zeroc ice php,ZeroC ICE+PHP整合
  2. 高放的python学习笔记之基本语法
  3. 远去的高考,消逝的大一……
  4. 核心编程9 文件和文件的输入输出 (os模块)
  5. php url无效,PHP解析URL并失去URL中的参数
  6. Myeclipse 6.5 优化
  7. C语言学习笔记---fgets()函数和fputs()函数
  8. python基本语言元素是_Python-基本语法元素
  9. 易筋SpringBoot 2.2 | 第三十二篇:Redis Docker入门
  10. Matlab实现两个矩阵的加法、乘法计算器
  11. ms office excel2013教程 - 从网站加载数据
  12. 思维导图(一):高效的思维工具
  13. 白嫖服务器——搭建个人简历网站(转载)
  14. 一个普通高校学生入门C/C++入门的第一篇博客1.0.1
  15. 解读scrapy各个组件中的from_crawler()方法
  16. 数据库三大范式定义与理解
  17. ACR Loss: Adaptive Coordinate-based Regression Loss for Face Alignment
  18. 子网掩码和ip地址有效范围计算
  19. 2013.12.27 泡面吧--简单的斐波那契数列
  20. 南通开发区:打造长三角大数据产业发展高地

热门文章

  1. Web流程、Web服务器软件、Servlet
  2. java 逻辑或 作用_java逻辑运算符有哪些?逻辑运算符有什么作用?
  3. 线性代数 linear algebra
  4. DVWA-low通关笔记
  5. Discuz论坛实用留言签名代码
  6. 一文打尽目标检测NMS——效率提升篇
  7. 【面经】2022互联网算法岗面试总结
  8. 华为服务器虚拟化主备怎么切换,云服务器可以主备切换
  9. Linux系统基础-2018-图形界面
  10. 如何在谷歌地球上绘制路线