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

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

Topic source

陈妍素姬

#1 Created at ... [Delete] [Delete and Lock User]

# -*- coding: utf-8 -*-

from functools import reduce

L = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '.': '.'}

def xx(p):

    return L[p]

def fn(x, y):

    return x * 10 + y

def str2float(s):

    n = len(s.split('.')[1])

    m = s.split('.')[0] + s.split('.')[1]

    return reduce(fn, map(xx, m)) * 10**-n


  • 1

Reply