Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:在空白处拆分列表_Python_Python 3.x - Fatal编程技术网

Python:在空白处拆分列表

Python:在空白处拆分列表,python,python-3.x,Python,Python 3.x,我想我有一个初学者的问题,我还没有找到解决办法。也许这里有人知道怎么解决这个问题 我有一个250行的列表。每行包含8个元素,当前由一个空格分隔(请参见下面复制的第一行和最后五行)。据我所知,python目前将每一行视为一个字符串。所以我的列表包含250个字符串 我想将当前250个字符串的列表(每个字符串包括8个由空格分隔的元素)转换为250行8列的矩阵。有没有办法有效地做到这一点 Out[2]: ['-20.8 -83.6 19:32 13:57 2014 01 22 165.8', '-1

我想我有一个初学者的问题,我还没有找到解决办法。也许这里有人知道怎么解决这个问题

我有一个250行的列表。每行包含8个元素,当前由一个空格分隔(请参见下面复制的第一行和最后五行)。据我所知,python目前将每一行视为一个字符串。所以我的列表包含250个字符串

我想将当前250个字符串的列表(每个字符串包括8个由空格分隔的元素)转换为250行8列的矩阵。有没有办法有效地做到这一点

Out[2]: 
['-20.8 -83.6 19:32 13:57 2014 01 22 165.8',
 '-17.2 -84.5 19:33 13:55 2014 01 22 269.9',
 '-13.6 -85.3 19:34 13:53 2014 01 22 674.3',
 '-16.8 -109.3 21:12 13:55 2014 01 22 734.9',
 '-13.2 -110.1 21:13 13:53 2014 01 22 699.3',
...
 '14.0 -145.4 23:18 13:37 2014 12 29 295.8',
 '10.4 -144.6 23:17 13:39 2014 12 29 685.7',
 '17.6 -146.2 23:19 13:34 2014 12 29 202.4',
 '18.0 -171.0 00:58 13:34 2014 12 30 308.0',
 '21.6 -171.8 00:59 13:32 2014 12 30 533.7']

使用带有
str.split
的列表comp:

>>> l = ['1 2 3',
...      '4 5 6',
...      '7 8 9']
>>> [r.split() for r in l]
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

请尝试
[r.split()用于输出中的r]
可能重复的@user3080953注意该问题的最后一个答案。列表理解是最快最清晰的。@Joe Iddon谢谢!非常优雅@如果答案解决了你的问题,请接受它(你可以点击答案旁边的小复选框,它会变成绿色)。
some_list = ['-20.8 -83.6 19:32 13:57 2014 01 22 165.8', '-17.2 -84.5 19:33 13:55 2014 01 22 269.9', '-13.6 -85.3 19:34 13:53 2014 01 22 674.3', '-16.8 -109.3 21:12 13:55 2014 01 22 734.9', '-13.2 -110.1 21:13 13:53 2014 01 22 699.3']

new_list = [item.split() for item in some_list]
print(new_list)