抱歉,标题令人困惑,但我无法说出更好的话了。
因此,假设我有以下列表:
My_list = [1,1,1,0,0,0,1,1,1,1,0,0]
如何显示连续重复的1和0的最大数量?
我想显示4,因为连续重复的1s最长的链是4。
而连续重复0的最长链显示3为3。
最佳答案
一个简单的解决方案,可能在itertools中的某个地方更优雅。
x = [1,1,1,0,0,0,1,1,1,1,0,0,0,0,0]
d = {}
c = x[0]
c_cnt = 1
for i in x[1:]:
if i == c:
c_cnt +=1
else:
d[c] = max(d.get(c,0),c_cnt)
c=i
c_cnt=1
d[c] = max(d.get(c,0),c_cnt)
print(d)