如何在Python列表中查找特定模式?

问题描述 投票:0回答:1

我有一个仅包含TrueFalse值的列表。当列表中的元素从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中检测上述模式。如果您知道如何解决此问题(实时或不实时),请告诉我。

python list pattern-recognition
1个回答
0
投票

嗯,您可以将每个列表都变成一个字符串:

newlist=['T' if x is True else 'F' for x in mylist]
newstring=''.join(newlist)

然后按照this question.的可接受答案中所述找到与“ FTFTFT”的匹配项的位置>

© www.soinside.com 2019 - 2024. All rights reserved.