首页 > Python 把字符串变成浮点数

Python 把字符串变成浮点数

from functools import reduce

di = {}

di.update(zip('1234567890.', [1,2,3,4,5,6,7,8,9,0,'.']))

def str2float(s):

  st = s.split('.')

  st1 = reduce(lambda x,y: 10*x + y, map(lambda x: di[x], st[0]))

  try:

    st2 = reduce(lambda x,y: (x*0.1 + y), map(lambda x: di[x], st[1][::-1]))/10

    #st2 = reduce(lambda x,y: (x*0.1 + y), map(lambda x: di[x]/10, st[1][::-1]))  #也可以在取数的时候变成一个一位小数

  except:

    st2=0

  return st1 + st2

st = '123.456'

a = str2float(st)

print(a, type(a))

运行结果:

123.456

转载于:https://www.cnblogs.com/guiyuhua/p/8641490.html

更多相关:

  • 如果你只是想对流经该层的数据做个变换,而这个变换本身没有什么需要学习的参数,那么直接用Lambda Layer是最合适的了。 导入的方法是 from keras.layers.core import Lambda Lambda函数接受两个参数,第一个是输入张量对输出张量的映射函数,第二个是输入的shape对输出的shape的映...

  • 或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio 早已提供了对 lambda 表...

  • 动态规划中的巴拿赫不动点定理5. Banach Fixed Point Theorem in Dynamic Programming5.1 巴拿赫不动点定理定理 (Banach fixed point theorem)定义 5.1 度量空间定义定义 5.2 压缩映射Lemma 5.1 基本压缩不等式 (Fundamental cont...

  • lambda 语法: lambda [arg1[,arg2,arg3....argN]]:expression 1.单个参数的: g = lambda x:x*2 print g(3) 结果是6 2.多个参数的: m = lambda x,y,z: (x-y)*z print m(3,1,2) 结果是4 3.无参数 # 使用...

  • 题意   给出一个字符串,求它的最小表示法。 分析  这个题当然可以用最小表示法做啦!但是我是为了学后缀自动机鸭!   我们把这个字符串长度乘二,然后建SAM,然后在SAM上每次跑最小的那个字母,找出长度为n的时候就停下。如果停下的那个状态时u,那么ans=st[u].len-n+1     1 #include ...

  • 解析字符串的方法 char st[]=”123.45ab”; 解析这一段字符串,有很多种方法。这里介绍一个在”stdio.h”里面的函数: sscanf(…); 如果你看了如下代码,应该会有所感悟: 1 # include "stdio.h"2 3 int main() {4 char st[]="123.45...

  • 名字开头大写 后面小写;练习: 1 def normalize(name): 2 return name[0].upper() + name[1:].lower() 3 L1 = ['adam', 'LISA', 'barT'] 4 L2 = list(map(normalize, L1)) 5 print(L2) red...