gpt4 book ai didi

python:找到空条目时将列表分成几部分

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:21 25 4
gpt4 key购买 nike

假设我有一个如下所示的列表:

[
[],
['blah','blah'],
['a','b'],
[],
['abc','2'],
['ff','a'],
['test','a'],
[],
['123','1'],
[]
]

当遇到空项时,如何将此列表分解为列表列表

所以 list[0] 会有:

['blah','blah']
['a','b']

list[1] 会有:

['abc','2']
['ff','a']
['test','a']

最佳答案

您可以使用 itertools.groupby ,使用 bool 作为键:

from itertools import groupby

lst = [list(v) for k,v in groupby(l, key=bool) if k]

演示:

In [22]: from itertools import groupby


In [23]: lst = [list(v) for k,v in groupby(l,key=bool) if k]

In [24]: lst[1]
Out[24]: [['abc', '2'], ['ff', 'a'], ['test', 'a']]

In [25]: lst[0]
Out[25]: [['blah', 'blah'], ['a', 'b']]

k 对每个空列表为 False,对所有非空列表为 True。

In [26]: bool([])
Out[26]: False

In [27]: bool([1])
Out[27]: True

In [28]: bool([1,1,3])
Out[28]: True

关于python:找到空条目时将列表分成几部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35869725/

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