【问题标题】:Highest number of consecutively repeating values in a list列表中连续重复值的最大数量
【发布时间】:2019-10-26 21:54:21
【问题描述】:

假设我有这个列表:

List= [1,1,1,0,0,1,1,1,1,1]

如何连续显示最多的重复 1? 我要返回 5。

【问题讨论】:

  • 你已经尝试过哪些代码?
  • 列表是否总是只包含 1 和 0?
  • 其实我还是个初学者,不知道该尝试什么。不,它不一定包含零和一,任何 2 个重复值
  • 所以你想要列表中最多的连续元素?我说的对吗?
  • 如果您不知道应该先做一些研究并尝试一些东西并发布一些代码,然后再寻求解决问题的方法。

标签: python python-3.x


【解决方案1】:

我不太明白这个问题,但是如果你想要列表中最多连续元素的数量,可能是这样的

from itertools import groupby

list = [1,1,1,0,0,1,1,1,1,1]
count_cons_val = [sum(1 for _ in group) for _, group in groupby(list)]
print(max(count_cons_val))

输出:

5

【讨论】:

    【解决方案2】:

    找到我的 cmets 这个答案如何帮助您在 # 标记之后内联。

    save = None
    count = 0
    best = 0
    for i in list:
        if i == save:
            count += 1 # if it's the same as last add 1 to count
            best = count
        else: #if it is different reset with the new element
            count = 0
            save = i
    
    print(best)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2021-02-14
      相关资源
      最近更新 更多