分割布尔值的python列表

时间:2019-01-31 12:21:38

标签: python

我有一个清单

[True, False, False, True, True]

我需要接收

[[True],[True, True]]

Pleace可以帮助我了解如何“出色地”做到这一点。 谢谢

1 个答案:

答案 0 :(得分:4)

您可以使用itertools.groupby完成此操作。本质上,它将分别对TrueFalse的连续运行进行分组,然后仅使用列表推导保留True的组。

>>> from itertools import groupby
>>> values = [True, False, False, True, True]
>>> [list(g) for k, g in groupby(values) if k]
[[True], [True, True]]