我有一个仅包含True
和False
值的列表。当列表中的元素从True
更改为False
或反之亦然超过3次时,我正在寻找一种模式。
示例(T用于True
,F用于False
的缩写):
List = [T, T, T, F, F, F, T, F, T, F, T, T, T, T]
我要检测的是:[F, T, F, T, F, T]
及其原始列表中的起始索引。
请注意,图案不是固定的。可以是[F, T, F, T, F, T]
或[T, F, T, F, T]
。
如果您有任何想法可以有效地完成此任务,请告诉我。
[事实上,我需要实时进行此检测。我的意思是,List
是通过从另一个来源(时间戳为0.5秒)获取数据而制成的。而且我需要在List
中检测上述模式。如果您知道如何解决此问题(实时或不实时),请告诉我。
嗯,您可以将每个列表都变成一个字符串:
newlist=['T' if x is True else 'F' for x in mylist]
newstring=''.join(newlist)
然后按照this question.的可接受答案中所述找到与“ FTFTFT”的匹配项的位置>