Python字符串转换成浮点数函数分享

yipeiwu_com6年前Python基础

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

from functools import reduce
 
def str2float(s):
  return reduce(lambda x,y:x+int2dec(y),map(str2int,s.split('.')))
def char2num(s):
  return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s]
def str2int(s):
  return reduce(lambda x,y:x*10+y,map(char2num,s))
def intLen(i):
  return len('%d'%i)
def int2dec(i):
  return i/(10**intLen(i))
   
print(str2float('123.456'))

以上就是本代码的全部内容了,希望对大家学习Python能够有所帮助。

相关文章

从列表或字典创建Pandas的DataFrame对象的方法

从列表或字典创建Pandas的DataFrame对象的方法

介绍 每当我使用pandas进行分析时,我的第一个目标是使用众多可用选项中的一个将数据导入Pandas的DataFrame 。 对于绝大多数情况下,我使用的 read_excel ,...

python BeautifulSoup设置页面编码的方法

在用BeautifulSoup进行抓取页面的时候,会各种各样的编码错误。 可以通过在beautifulsoup中指定字符编码,解决问题。 复制代码 代码如下: import urllib...

python之当你发现QTimer不能用时的解决方法

如下所示: # -*- coding: utf-8 -*- import numpy as np from PyQt5.QtCore import QTimer, QObject...

python使用pipeline批量读写redis的方法

用了很久的redis了。随着业务的要求越来越高。对redis的读写速度要求也越来越高。正好最近有个需求(需要在秒级取值1000+的数据),如果对于传统的单词取值,循环取值,消耗实在是大,...

从Python的源码来解析Python下的freeblock

从Python的源码来解析Python下的freeblock

1 引言 在python内存管理中,有一个block的概念。它比较类似于SGI次级空间配置器。 首先申请一块大的空间(4KB),然后把它切割成一小份(8, 16 一直到512)。 当有内...