我的目的是确定给定字符串或列表中连续相等元素的最大数量。
我将使用一个示例来使自己更加清楚:
(1,1,1,1)-> {1:4}
(1,1,'a','a',1)-> {1:2,'a':2}
(2,2,2,0,2,2,0)-> {2:3,0:1}
我对类似的东西感到厌倦,但它不起作用:
d={}
for i in range(len(l)):
while l[i]==l[i+1]:
d[i]=l.count(i)
return d
最佳答案
一种可能的方法,使用itertools.groupby
:
from itertools import groupby
t = 1,1,'a','a',1
out = {}
for v, g in groupby(t):
l = sum(1 for _ in g)
if out.get(v, float('-inf')) < l:
out[v] = l
print(out)
印刷品:
{1: 2, 'a': 2}
关于python - 检查Python中连续相等元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59921262/