首页 > 解决方案 > 查找列表中相同元素的最长系列

问题描述

我有一个任务,我有一个列表。很多F字母或I字母。我必须找到最长的F元素系列。以及它的索引。

例如,我在列表中有这些:

F,F,F,我,我,我,F,F,F,F,我

在这种情况下,我必须知道最长的系列是 4 个元素,它从第 7 位开始。我真的不知道如何解决这个任务。

我尝试过这个:

listt=["F","F","F","I","I","I","F","F","F","F","I"]

num = 0
biggest_num = 0

for i in range(len(listt)):
    if list[i] == "F":
        num = num + 1
    else: 
        biggest_num = num
        num = 0

标签: pythonlistloops

解决方案


尝试groupby

from itertools import groupby
l = ['F', 'F', 'F', 'I', 'I', 'I', 'F', 'F', 'F', 'F', 'I']
print(max([len(list(i)) for _, i in groupby(l)]))

输出:

4

推荐阅读