#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]]