当项目(整数)彼此相距1时,如何拆分列表?

时间:2018-09-07 23:28:38

标签: python

我有一个列表,例如[6,6,2,6,6,7,5,2,0,5,6]。
我可以枚举它以获得列表[[0,6),(1,6),(2,2),(3,6),(4,6),(5,7),(6,5) ,(7,2),(8,0),(9,5),(10,6)]非常容易。
然后,我要保存的每个索引的值都具有第二个值> = 5;也就是说,其输出为[0、1、3、4、5、6、9、10]。
到目前为止,我可以做得很好。现在,我希望以这种方式对此进行解析:
[(0,1),(3,4,5,6),(9,10)]
将项目分成几组,其中任意两个相邻项目之间的差值恰好为1。

到目前为止,我的代码:

    histo = [6,6,2,6,6,7,5,2,0,5,6]
    histo = list(enumerate(histo))
    abarrote = [x[0] for x in histo if x[1] >= 5]
    #Out[1]: [0, 1, 3, 4, 5, 6, 9, 10]
    #Desired output: [(0,1),(3,4,5,6),(9,10)]

谢谢。

0 个答案:

没有答案