Как я могу преобразовать список строк в массив чисел с плавающей запятой?

#python #python-3.x #python-3.7

#python #python-3.x #python-3.7

Вопрос:

Я пытаюсь преобразовать список строк в массив вызываемых чисел с плавающей запятой в Python, но я сталкиваюсь с ошибкой. Вот часть моего кода:

 list=['1 2 3', '4 5 6']
for x in list:
   x=float(x)

ValueError: could not convert string to float: '1 2 3'
  

Комментарии:

1. Сначала уточните, что означает ‘1 2 3’. Это 123 или это три разных числа 1, затем 2, а затем 3?

Ответ №1:

Для этого вы можете использовать понимание вложенного списка. Первый может перебирать ваши строки, затем для каждой строки вы можете str.split преобразовать каждый элемент в float from оттуда.

 >>> data = ['1 2 3', '4 5 6']
>>> [[float(i) for i in row.split()] for row in data]
[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]