gpt4 book ai didi

python - 如何将列表拆分为由分隔符确定的 block ?

转载 作者:太空狗 更新时间:2023-10-29 21:23:57 25 4
gpt4 key购买 nike

我有这个列表(python):

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

我想将它们分成 block ,将进入每个 block 的元素是分隔符“/”之前的元素。

所以我的 block 看起来像:

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

我试了又试,但没有想到有效的方法。尝试使用 for 和 if element[x] == '/' 循环遍历它,然后获得一些位置。它很脏,无法正常工作。

如有任何帮助,我们将不胜感激。

最佳答案

收集连续 block 的常用方法是使用 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']

(您对列表 [item1],[item2],[item3],[/], 的表示使其看起来像列表中的每个元素实际上都是一个列表,其中如果相同的方法可行,您只需要与 ['/'] 或您的分隔符是什么进行比较。)

关于python - 如何将列表拆分为由分隔符确定的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30825535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com