[英]Split python list of booleans
I have a list我有一个清单
[True, False, False, True, True]
I need to receive我需要收到
[[True],[True, True]]
Pleace help me with ideas how to do this 'pythonicly'.请帮助我提供如何“pythonicly”执行此操作的想法。 Thank you谢谢
You can use itertools.groupby
to accomplish this.您可以使用itertools.groupby
来完成此操作。 Essentially it will group consecutive runs of True
and False
respectively, then just keep the groups of True
using a list comprehension.本质上,它将分别对True
和False
连续运行进行分组,然后使用列表理解保留True
的组。
>>> from itertools import groupby
>>> values = [True, False, False, True, True]
>>> [list(g) for k, g in groupby(values) if k]
[[True], [True, True]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.