【问题标题】:How to get list of repeating integers from array? [duplicate]如何从数组中获取重复整数列表? [复制]
【发布时间】:2016-10-10 05:27:30
【问题描述】:

在数组中查找和输出一行重复整数的简单方法是什么

例如,1 2 3 4 4 4 5 6 的数组应该输出4 4 4

【问题讨论】:

  • 1 2 3 4 4 4 5 6 4 的答案应该是什么?
  • 您只是在寻找相邻的重复项吗?序列会一直排序吗?

标签: python


【解决方案1】:

对于极端情况,有很多方法可以用不同的输出来回答这个问题,但是对于正确解决特别提到的情况的最小示例来说,这又如何呢?

x = [1, 2, 3, 4, 4, 4, 5, 6]
ind = [a==b for a,b in zip(x[:-1],x[1:])].index(True)
y = [a for a in x if a==x[ind]]
print(y)

[4, 4, 4]

【讨论】:

    【解决方案2】:

    下面的代码将列出所有重复项的序列列表。

    list = [1, 2, 3, 4, 4, 4, 5, 6, 6, 7, 8, 8, 8, 8, 3, 4, 2, 3, 3]
    
    last = None
    sequences = []
    series = []
    list.append('last')
    for item in list:
        if item == last:
            series.append(last)
        elif series:
            series.append(last)
            sequences.append(series)
            series = []
        last = item
    if series:
        series.append(last)
        sequences.append(series)
    print sequences
    

    会输出

    >>> [[4, 4, 4], [6, 6], [8, 8, 8, 8], [3, 3]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      相关资源
      最近更新 更多