将列表拆分为由分隔符确定的块

Ben*_*min 7 python split

我有这个列表(python):

[item1],[item2],[item3],[/],[item4],[item5],[item6],[/] ......等等.

我想将这些分成块,并且将进入每个块的元素是分隔符"/"之前的元素.

所以我的块看起来像:

chunk1:[item1],[item2],[item3] chunk2:[item4],[item5],[item6]

我已经尝试过并试过,没有任何有效的想法.尝试使用for和if元素[x] =='/'循环遍历它然后得到一些位置.它非常脏,不能正常工作.

任何帮助,将不胜感激.

DSM*_*DSM 10

收集连续块的常用方法是使用itertools.groupby,例如:

>>> from itertools import groupby
>>> blist = ['item1', 'item2', 'item3', '/', 'item4', 'item5', 'item6', '/']
>>> chunks = (list(g) for k,g in groupby(blist, key=lambda x: x != '/') if k)
>>> for chunk in chunks:
...     print(chunk)
...     
['item1', 'item2', 'item3']
['item4', 'item5', 'item6']
Run Code Online (Sandbox Code Playgroud)

(您对列表的表示[item1],[item2],[item3],[/],使得列表中的每个元素实际上都是一个列表,在这种情况下,相同的方法将起作用,您只需要与['/']分隔符进行比较.)