Python:拆分空格

时间:2018-06-13 13:00:33

标签: 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',
 '-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']

2 个答案:

答案 0 :(得分:4)

使用带有str.split的list-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']]

答案 1 :(得分:2)

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)