列表>列表列表

DGT*_*DGT 6 python

在python中,我怎样才能将长列表分成列表列表,无论我遇到什么' - '.例如,我该如何转换:

['1', 'a', 'b','---', '2','c','d','---','3','123','e','---','4']
Run Code Online (Sandbox Code Playgroud)

[['1', 'a', 'b'],['2','c','d'],['3','123','e'],['4']]
Run Code Online (Sandbox Code Playgroud)

提前谢谢了.

unu*_*tbu 17

In [17]: import itertools
# putter around 22 times
In [39]: l=['1', 'a', 'b','---', '2','c','d','---','3','123','e','---','4']

In [40]: [list(g) for k,g in itertools.groupby(l,'---'.__ne__) if k]
Out[40]: [['1', 'a', 'b'], ['2', 'c', 'd'], ['3', '123', 'e'], ['4']]
Run Code Online (Sandbox Code Playgroud)