我试图返回一个布尔值,它只在原始布尔值中给出最长的“真”出现,并将较短的“真”块替换为“假”。示例 a=[True, True, False, True , True, True, False],我想返回 [False, False, False, True, True, True, False]。
我尝试了 more_itertools,它似乎有一些有趣的功能,但不确定如何为我的目的准确实现。
a=[True, True, False, True , True, True, False]
pred = lambda x: x in {True}
p=list(mit.run_length.encode(a))
>>>
Results in: (True,2),(False,1),(True,3),(False,1)
所以我最终想要自动得到的是(False,3),(True,3),(False,1)。有什么建议么?谢谢您的帮助