python - 值错误 : invalid literal for float() in Python

标签 python floating-point literals iterable

致所有人:

我很好奇是否有人可以帮助我理解错误:ValueError:float() 的无效文字。当我将文本文件传递给列表然后尝试将此列表转换为浮点值时,我得到了这个。

a = open("input.txt","r")
lines = a.readlines()
b = map(float, lines)

奇怪的是,至少对我来说,当我处理时:

print repr(lines[0])

我得到:

'0.000\t0.000...\t0.000\t0.000\n'

print type(lines[0])

我得到:

<type 'str'>

因此我不明白为什么 map(float, lines) 不能正常工作。我是否错误地使用了此功能?查看文档, map 函数给出为:map(function, iterable, ...)。列表不是可迭代的吗?

此外,如果有人可以解释这个错误/指出我对这个错误的解释方向,我将不胜感激。

在此先感谢您对这个问题的帮助。

最佳答案

在这种情况下你不需要 readlines——这是浪费时间和内存。

如果你想要一个 float 列表的列表:

b = [[float(v) for v in line.rstrip('\n').split('\t')] for line in a]

或者只是一个大的 float 列表:

b = [float(v) for line in a for v in line.rstrip('\n').split('\t')]

关于python - 值错误 : invalid literal for float() in Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7986459/

相关文章:

python - Pandas 两个excel列比较中的一对多比较?

swift - Float32(Float 的别名)和 Float64(Double 的别名)有什么用?

haskell - 带有内置 epsilon 的包裹浮点类型

在保留顺序的同时将 float 转换为无符号整数

java - 八进制数(基数为 8)用于什么?

ios - iOS 8.1 中不再允许使用 CGPoint stringliteral

python - 动态过滤列表并删除循环中的项目

python - 在 Go 中创建哈希

python - 制作一个 bool 数组

c++ - 文字是标准术语的对象吗?