如何将文本拆分为列表?

时间:2018-10-25 09:13:32

标签: python python-3.x list

我的数据是:

['I1 I2 I5', 'I2 I4', 'I2 I3', 'I1 I2 I4', 'I1 I3', 'I2 I3', 'I1 I3', 'I1 I2 I3 I5', 'I1 I2 I3']

但是我想要这样:

[['I1','I2', 'I5'], ['I2', 'I4'], ['I2' ,'I3'], ['I1',' I2', 'I4'], ['I1', 'I3'], ['I2', 'I3'], ['I1',' I3'], ['I1', 'I2','I3', 'I5'], ['I1', 'I2', 'I3']]

我该怎么办?

3 个答案:

答案 0 :(得分:4)

尝试

data = ['I1 I2 I5', 'I2 I4', 'I2 I3', 'I1 I2 I4', 'I1 I3', 'I2 I3', 'I1 I3', 'I1 I2 I3 I5', 'I1 I2 I3']

split_data = [item.split() for item in data]

print(split_data)
>>>[['I1', 'I2', 'I5'], ['I2', 'I4'], ['I2', 'I3'], ['I1', 'I2', 'I4'], ['I1', 'I3'], ['I2', 'I3'], ['I1', 'I3'], ['I1', 'I2', 'I3', 'I5'], ['I1', 'I2', 'I3']]

字符串类的split()函数将字符串分成字符串数组。如果您指定了拆分字符串输入,它将根据输入拆分字符串。也就是说,如果您的数据用逗号分隔,则可以执行以下操作:

print('I1,I2,I5'.split(',')) 
>>>['I1', 'I2', 'I5']

但是默认情况下,split()在没有输入的情况下会在空白处分开,并且会some smart things处理如果存在多个空格时会发生的情况。

然后我们使用list comprehension通过对数据的每个元素使用split来创建列表。

答案 1 :(得分:0)

您可以简单地遍历初始列表,并用空格分隔每个项目字符串。 然后,您只需将拆分结果追加到新列表中即可。 这是一个示例代码:

inital = ['I1 I2 I5', 'I2 I4', 'I2 I3', 'I1 I2 I4', 'I1 I3', 'I2 I3', 'I1 I3', 'I1 I2 I3 I5', 'I1 I2 I3']

results = []
for i in inital:
    split = i.split(' ')
    results.append(splited)

print(results)

最佳

答案 2 :(得分:0)

import numpy

mylist = ['I1 I2 I5', 'I2 I4', 'I2 I3', 'I1 I2 I4', 'I1 I3', 'I2 I3', 'I1 I3', 'I1 I2 I3 I5', 'I1 I2 I3']
myarray = numpy.asarray(mylist)