📌  相关文章
📜  Python|列表中的连续最大出现次数

📅  最后修改于: 2022-05-13 01:55:00.209000             🧑  作者: Mango

Python|列表中的连续最大出现次数

有时,在使用Python列表或竞争性编程设置时,我们可能会遇到一个子问题,在该子问题中,我们需要获取一个连续出现次数最多的元素。解决它的知识可以有很大帮助,并且可以在需要时使用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用groupby() + max() + lambda
可以使用上述功能的组合来解决此任务。在此,我们使用groupby()对每个出现的数字进行分组,并使用max()获得它的最大值。 lambda函数提供实用程序逻辑来执行此任务。

# Python3 code to demonstrate working of
# Consecutive Maximum Occurrence in list
# using groupby() + max() + lambda
from itertools import groupby
  
# initializing list
test_list = [1, 1, 1, 2, 2, 4, 2, 2, 5, 5, 5, 5]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Consecutive Maximum Occurrence in list
# using groupby() + max() + lambda
temp = groupby(test_list)
res = max(temp, key = lambda sub: len(list(sub[1])))
  
# printing result 
print("Maximum Consecutive Occurring number is : " + str(res[0]))
输出 :
The original list is : [1, 1, 1, 2, 2, 4, 2, 2, 5, 5, 5, 5]
Maximum Consecutive Occurring number is : 5