ValueError: недопустимый литерал для float () в Python

Для всех:

Мне интересно, может ли кто-нибудь помочь мне разобраться в ошибке: 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'>

Поэтому я не понимаю, почему карта (float, lines) не работает правильно. Я неправильно использую эту функцию? Глядя на документацию, функция карты представлена ​​как: map (function, iterable, ...). Список не повторяется?

Также, если бы кто-нибудь мог объяснить эту ошибку / указать мне направление объяснения этой ошибки, я был бы очень признателен.

Заранее благодарим за помощь с этим вопросом.

5
задан mskfisher 21 June 2012 в 13:09
поделиться