抱歉,标题令人困惑,但我无法用更好的措辞表达它。
那么,假设我有这个列表:
My_list = [1,1,1,0,0,0,1,1,1,1,0,0]
如何显示最多连续重复的1和0?
我想显示4,因为连续重复1的最长链是4。
并显示3,连续重复0的最长链为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)
