一个数字连续出现多少次而没有中断或更改数字python / numpy

时间:2016-08-17 06:16:00

标签: python numpy

我需要找到一个数字出现的最大连续次数。具体为1或0。澄清。

a = [1,0,0,0,1,1,1,1,0,1]

我想让python做的是计算1和0连续出现的次数。

因此,对于1,连续出现的最大值为4,对于0,最大连续值为3.

到目前为止我尝试了什么

from collections import Counter
import numpy 
l = [1, 0, 0, 0, 0, 1, 1]
x = sum(1 for i in l if i % [1])
print 

X

1 个答案:

答案 0 :(得分:1)

您可以使用groupby

from itertools import groupby
max_of_1 = max([i for i in [[key,len(list(group))] for key, group in groupby(a)] if i[0]])[1]
max_of_0 = max([i for i in [[key,len(list(group))] for key, group in groupby(a)] if not i[0]])[1]

<强>结果

In [1]: max_of_1
Out[1]: 4
In [2]: max_of_0
Out[3]: 3