我的数据是:
['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']]
我该怎么办?
答案 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)