Python:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
# -*- 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()
函数接收两个参数,一个是函数,一个是Iterable
,map
将传入的函数依次作用到序列的每个元素,并把结果作为新的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相关推荐
- 【Python】利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
微信公众号 题目来源:[廖雪峰的官方网站-map/reduce] 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: from functo ...
- 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:
题目:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: 来源:廖雪峰Python上的练习题 思路定位小数点,分割小数部分和整数部分,使用r ...
- 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
想转行做程序员,最近在看廖雪峰的python教程,年龄大了看算法很费劲,之前总是囫囵吞枣,急于求快最后啥都没学到,现在重新看一遍,刚刚把课后的作业想明白,跟其他人的答案比起来我的很拙劣,但是我依然很高 ...
- 编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年( fractional year)和闰年(leapyear)的问题
编写一个程序,把您的年龄转换成天数并显示二者的值.不用考虑平年( fractional year)和闰年(leapyear)的问题 #include<stdio.h> int main(v ...
- python字符串转浮点数_Python字符串转换成浮点数函数分享
Python字符串转换成浮点数函数分享 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 from functools import red ...
- python 如何把字符串转换成浮点数
如何把字符串型数字'123.456'转换成float型数据 直接自带float就行啦 test1 ="123.456"test2 = '12.304'test3 = '12.34' ...
- 3、编写一个prod()函数,可以接受一个list并利用reduce()求积
3.编写一个prod()函数,可以接受一个list并利用reduce()求积 # -*- coding: utf-8 -*-from functools import reducedef prod(L ...
- C++ 利用结构体数组编写一个程序,对10名小学生的信息进行管理,学生结构体的成员包括姓名、学号、年龄、语文成绩、数学成绩、英语成绩、三门课总分等
利用结构体数组编写一个程序,对10名小学生的信息进行管理,学生结构体的成员包括姓名.学号.年龄.语文成绩.数学成绩.英语成绩.三门课总分等,具体要求如下: (1)要求通过键盘完成各位小学生的信息录入( ...
- python tkinter计算器实例_使用Python自带GUI tkinter编写一个期权价格计算器
0 准备工作 首先,确认环境中有numpy.scipy.stats和tkinter三个功能包.前两个功能包可用于Python的数学计算,比如使用numpy来生成随机数用于Monte Carlo模拟,以 ...
最新文章
- zeroc ice php,ZeroC ICE+PHP整合
- 高放的python学习笔记之基本语法
- 远去的高考,消逝的大一……
- 核心编程9 文件和文件的输入输出 (os模块)
- php url无效,PHP解析URL并失去URL中的参数
- Myeclipse 6.5 优化
- C语言学习笔记---fgets()函数和fputs()函数
- python基本语言元素是_Python-基本语法元素
- 易筋SpringBoot 2.2 | 第三十二篇:Redis Docker入门
- Matlab实现两个矩阵的加法、乘法计算器
- ms office excel2013教程 - 从网站加载数据
- 思维导图(一):高效的思维工具
- 白嫖服务器——搭建个人简历网站(转载)
- 一个普通高校学生入门C/C++入门的第一篇博客1.0.1
- 解读scrapy各个组件中的from_crawler()方法
- 数据库三大范式定义与理解
- ACR Loss: Adaptive Coordinate-based Regression Loss for Face Alignment
- 子网掩码和ip地址有效范围计算
- 2013.12.27 泡面吧--简单的斐波那契数列
- 南通开发区:打造长三角大数据产业发展高地