Скажите, что я получил строку:
s = '''1 2 3 4 5 6 7 8 9 '''
Я хочу превратить каждую строку строки s в список значений с плавающей точкой, то есть:
s
l = [[1.0 2.0 3.0], [4.0 5.0 6.0], [7.0 8.0 9.0]]
Как я могу сделать это в одну строку?
[[float(v) for v in l.split()] for l in s.strip().split('\n')]
s = '''1 2 3 4 5 6 7 8 9''' l = [ map( float, i.strip().split(" ") ) for i in s.split( "\n" ) ]
Примечание strip не требуется, если нет свободных мест. Газа работает как trim например. в php.
strip
trim
Сначала выполняется итерация по строкам, а затем по строкам и преобразование строк в числа с плавающей точкой.Если вы хотите, чтобы разговор был целым числом, измените float на int.
float
int
[[float(x) for x in line.split(' ')] for line in s.split('\n')]