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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:相关的知识,希望对你有一定的参考价值。

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:的主要内容,如果未能解决你的问题,请参考以下文章

python3中map()和reduce()函数的使用

[ Python - 9 ] 高阶函数map和reduce连用实例

从错误中学python————字符串转浮点数

python 2 map() reduce()

hive如何调整map数和reduce数

练习:不使用JavaScript内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数