Python:在空白处拆分列表
我想我有一个初学者的问题,我还没有找到解决办法。也许这里有人知道怎么解决这个问题 我有一个250行的列表。每行包含8个元素,当前由一个空格分隔(请参见下面复制的第一行和最后五行)。据我所知,python目前将每一行视为一个字符串。所以我的列表包含250个字符串 我想将当前250个字符串的列表(每个字符串包括8个由空格分隔的元素)转换为250行8列的矩阵。有没有办法有效地做到这一点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
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)