如何将字符串转换为Python中的浮点数?
问题描述:
我有以下代码:如何将字符串转换为Python中的浮点数?
invoer = file_input().split("=")
fileinput=[float(i.replace(',', '.')) + 1 for i in invoer]
其中invoer
是:
>>> print invoer
['5,4 4,5 8,7', '6,3 3,2 9,6 4,3', '7,6', '9,8', '5,5 7,8 6,5 6,4']
但是我似乎无法在为float得到这个。
答
你必须每串多个号码,所以你需要先拆那些空白:
[float(i.replace(',', '.')) + 1 for s in invoer for i in s.split()]
在列表解析顺序for
回路应被解读为嵌套循环;外循环为for s in invoer
,然后对于每个s
我们循环for i in s.split()
。每个i
在循环转换为浮点数,则通过1
演示递增:
>>> invoer = ['5,4 4,5 8,7', '6,3 3,2 9,6 4,3', '7,6', '9,8', '5,5 7,8 6,5 6,4']
>>> [float(i.replace(',', '.')) + 1 for s in invoer for i in s.split()]
[6.4, 5.5, 9.7, 7.3, 4.2, 10.6, 5.3, 8.6, 10.8, 6.5, 8.8, 7.5, 7.4]
可以显示乌尔输入数据??? – Hackaholic 2014-12-04 15:56:47
@Hackaholic:'invoer'是输入数据,OP包含它。 – 2014-12-04 15:59:18