码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-02-06 17:11:15      阅读:1298      评论:0      收藏:0      [点我收藏+]

标签:pre   poi   函数   lambda   利用   from   span   tools   reduce   

from functools import reduce
CHAR_TO_FLOAT = {
    0: 0,
    1: 1,
    2: 2,
    3: 3,
    4: 4,
    5: 5,
    6: 6,
    7: 7,
    8: 8,
    9: 9,
    .: -1
}
def str2float(s):
    nums=map(lambda x:CHAR_TO_FLOAT[x],s)
    #print(list(nums))
    point = 0

    def str_division(f,n):
        nonlocal point
        if n == -1:
            point = 1
            return f
        if point == 0:
            return f * 10 + n
        else:
             point = point * 10
             return f + n / point
    return reduce(str_division,nums)

print(str2float(123.456))

 

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

标签:pre   poi   函数   lambda   利用   from   span   tools   reduce   

原文地址:http://www.cnblogs.com/python3-study/p/6370869.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!