简体   繁体   English

拆分布尔值的python列表

[英]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.本质上,它将分别对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]]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM