Skip to main content
 首页 » 编程设计

python之列表中某个连续重复值的最大数量

2025年05月04日18artech

抱歉,标题令人困惑,但我无法用更好的措辞表达它。

那么,假设我有这个列表:

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)