我有一个列表,例如[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)]
谢谢。