В Python, как мне преобразовать все элементы списка в плавающие? - PullRequest
187 голосов
/ 23 октября 2009

У меня есть скрипт, который читает текстовый файл, извлекает из него десятичные числа в виде строк и помещает их в список.

Итак, у меня есть этот список:

[0,49, 0,54, 0,54, 0,54, 0,54, 0,54, 0,54, 0,55, 0,54, 0,54, 0,54, 0,55, 0,55, 0,55 ',' 0,55 ',' 0,54 ',' 0,55 ',' 0,55 ',' 0,54 ',' 0,55 ',' 0,55 ',' 0,54 ']

Как преобразовать каждое из значений в списке из строки в число с плавающей точкой?

Я пытался:

for item in list:
    float(item)

Но, похоже, это не работает для меня.

Ответы [ 11 ]

0 голосов
/ 16 мая 2018
import numpy as np
my_list = ['0.49', '0.54', '0.54', '0.54', '0.54', '0.54', '0.55', '0.54', '0.54', '0.54', '0.55', '0.55', '0.55', '0.54', '0.55', '0.55', '0.54', 
'0.55', '0.55', '0.54']
print(type(my_list), type(my_list[0]))   
# <class 'list'> <class 'str'>

, который отображает тип в виде списка строк. Вы можете преобразовать этот список в массив с плавающей точкой одновременно, используя numpy:

    my_list = np.array(my_list).astype(np.float)

    print(type(my_list), type(my_list[0]))  
    # <class 'numpy.ndarray'> <class 'numpy.float64'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...