Python在列表中查找n个连续数字

cod*_*ght 3 python

我想知道如何查找列表中的连续数字是否存在一定数量,例如

例如,如果我正在寻找两个1,那么:

list = [1, 1, 1, 4, 6] #original list
list = ["true", "true", 1, 4, 6] #after my function has been through the list.
Run Code Online (Sandbox Code Playgroud)

如果我正在寻找三个1,那么:

list = [1, 1, 1, 4, 6] #original list
list = ["true", "true", "true", 4, 6] #after my function has been through the list.
Run Code Online (Sandbox Code Playgroud)

我试过了:

list = [1, 1, 2, 1]

1,1,1 in list #typed into shell, returns "(1, 1, True)"
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,我主要想了解最新情况,以及如何检查列表中的下一个元素是否与第一个x量相同.

Mar*_*ers 10

分配给一个坏主意list.使用其他名称.

要查找可以使用的最大数量的连续相等值 itertools.groupby

>>> import itertools
>>> l = [1, 1, 1, 4, 6]
>>> max(len(list(v)) for g,v in itertools.groupby(l)) 
3
Run Code Online (Sandbox Code Playgroud)

要仅搜索连续的1:

>>> max(len(list(v)) for g,v in itertools.groupby(l, lambda x: x == 1) if g) 
3
Run Code Online (Sandbox Code Playgroud)