python实现字符串转浮点型,str2float

DIGITS={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
def str2float(s):
    s=s.split('.')
    if s[0]==0:
        return 0+reduce(lambda x,y:x/10+y , map(lambda x:DIGITS[x],s[1][::-1]))/10
    else:
        return reduce(lambda x,y:x*10+y,map(lambda x:DIGITS[x],s[0]))+reduce(lambda x,y:x/10+y , map(lambda x:DIGITS[x],s[1][::-1]))/10
print(str2float('123.0456'))
print(str2float('0.0456'))

主要为了学习lambda,map,reduce等操作。注意s[::-1]是将所有元素翻转

猜你喜欢

转载自blog.csdn.net/qq_21997625/article/details/86655141