Python 将项目列表拆分为一个列表

Python 将项目列表拆分为一个列表,python,list,Python,List,我有一个项目清单: ['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. ', '', '2', 'Date stored: 2019-01-02; ', 'Author name: ghjk; ', 'Book title: okj; ', 'Quantity: 5; ', 'Price: 4. ', '', '4', 'Date store

我有一个项目清单:

['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. ', '', '2', 'Date stored: 2019-01-02; ', 'Author name: ghjk; ', 'Book title: okj; ', 'Quantity: 5; ', 'Price: 4. ', '', '4', 'Date stored: 2019-01-02; ', 'Author name: hello; ', 'Book title: hekie; ', 'Quantity: 1; ', 'Price: 2. ', '', '1', 'Date stored: 2019-02-01; ', 'Author name: k; ', 'Book title: k; ', 'Quantity: 4; ', 'Price: 1. ', '', '1', 'Date stored: 2019-01-01; ', 'Author name: o; ', 'Book title: b; ', 'Quantity: 4; ', 'Price: 8; ', '', '5', 'Date stored: 2019-02-01; ', 'Author name: dfgh; ', 'Book title: iuhg; ', 'Quantity: 8; ', 'Price: 4. ', '']
我想把它放入列表列表中,所以我想在
'
部分对它进行切片,使其看起来像这样:

[['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ['2', 'Date stored: 2019-01-02; ', 'Author name: ghjk; ', 'Book title: okj; ', 'Quantity: 5; ', 'Price: 4. '], ... ]
as_string = ' '.join(lst).split(' ')
as_string_list = [i.strip.split(' ') for i in as_string]
print(as_string_list)
我现在有这个代码:

lst = []
lst1 = []


for line in mainFileDelete:
    stripped = line.strip("\n")
    lst.append(stripped)
print(lst)


for item in lst:
    splited = lst.index('')
    l2 = lst[:splited]
    lst1.append(l2)
print(lst1)
第一个for循环将所有项放入一个列表中,如示例所示,但第二个for循环生成一个列表列表,但仅使用第一行,如下所示:

[['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ... ] 
我不知道如何使它使
lst
从第一个循环变成一个列表列表。 我也试过这样做:

[['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ['2', 'Date stored: 2019-01-02; ', 'Author name: ghjk; ', 'Book title: okj; ', 'Quantity: 5; ', 'Price: 4. '], ... ]
as_string = ' '.join(lst).split(' ')
as_string_list = [i.strip.split(' ') for i in as_string]
print(as_string_list)

但是我的
lst
'
我想拆分的地方,所以它不起作用

手动拆分列表的通用算法:

当我们得到一个非
'
时,我们将一个元素添加到当前子列表中,如果我们点击
'
,我们将启动另一个子列表

result=[]
sublist=[]
for elem in lst:
    if elem: #or: if elem=='':
        sublist.append(elem)
    else:
        result.append(sublist)
        sublist=[]
if sublist: #in case your list wouldn't end with 
    result.append(sublist)
#del sublist
print(result)
结果:

>>> print(result)
[['1', 'Date stored: 2019-02-01; ', 'Author name: l; ', 'Book title: lll; ', 'Quantity: 1; ', 'Price: 2. '], ['2', 'Date stored: 2019-01-02; ', 'Author name: ghjk; ', 'Book title: okj; ', 'Quantity: 5; ', 'Price: 4. '], ['4', 'Date stored: 2019-01-02; ', 'Author name: hello; ', 'Book title: hekie; ', 'Quantity: 1; ', 'Price: 2. '], ['1', 'Date stored: 2019-02-01; ', 'Author name: k; ', 'Book title: k; ', 'Quantity: 4; ', 'Price: 1. '], ['1', 'Date stored: 2019-01-01; ', 'Author name: o; ', 'Book title: b; ', 'Quantity: 4; ', 'Price: 8; '], ['5', 'Date stored: 2019-02-01; ', 'Author name: dfgh; ', 'Book title: iuhg; ', 'Quantity: 8; ', 'Price: 4. ']]

您可以使用上面链接中提供的相同函数,并使用
tokenize\u list(数组,sep='')
。很好的一个shaik,只是sep应该是
sep=''
。非常感谢。