关闭

将字符串转化为数字的python实现

标签: 字符串转化为数字pythonmapreduce
1349人阅读 评论(0) 收藏 举报
分类:

将字符串转化为数字的python实现

将字符串转化为数字的python实现,例如将字符串“1234567.8”转化为 1234567.8

这也是学习python中的一个简单的练习题,代码如下:

# coding=UTF-8 将字符串转化为数字
from functools import reduce
import math
def char2int(s):
    return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s]
def mulit_int(x,y):
    return 10*x+y

def str2int(s):
    if s.find('.')==-1:#不是浮点数
        return reduce(mulit_int,map(char2int,s))
    else:#是浮点数
        s1=s.split('.')
        s2int=reduce(mulit_int,map(char2int,s1[0])) #整数部分

        s2float=reduce(mulit_int,map(char2int,s1[1]))*0.1**len(s1[1]) #小数部分
        return s2int+s2float

print(str2int("123345.678"))    

上面涉及到的知识点又python中内置的map()和reduce()函数的应用。

  • 其中map()函数要接收两个参数,第一个参数为函数,第二个参数为一个Iterable对象,map将传入的函数依次作用到序列的每个元素,结果以Iterable返回。

  • 而reduce()函数也接收两个参数,与map一样,但是reduce函数是把结果和序列中剩下的元素一起继续参与运算

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:451555次
    • 积分:10628
    • 等级:
    • 排名:第1626名
    • 原创:598篇
    • 转载:14篇
    • 译文:0篇
    • 评论:87条
    联系方式
    有问题欢迎探讨咨询哈
    qq:154943046
    添加注明CSDN博客哈
    博客专栏
    最新评论