![](/img/trans.png)
[英]Check if a Python list has X number of consecutive values equal to Y
[英]Check the number of consecutive equal elements in Python
我的目的是確定給定字符串或列表中連續相等元素的最大數量。
我將嘗試使用示例更清楚:
(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}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.