我有一个值列表,这些值是合并许多文件的结果.我需要填充一些值.我知道每个子节以值-1开头.我试图通过迭代基本上在主数组中的-1之间提取一个子数组.

例如,假设这是主要列表:

-1 1 2 3 4 5 7 -1 4 4 4 5 6 7 7 8 -1 0 2 3 5 -1

我想提取-1之间的值:

list_a = 1 2 3 4 5 7
list_b = 4 4 4 5 6 7 7 8
list_c = 0 2 3 5 ...
list_n = a1 a2 a3 ... aM

我通过搜索主列表提取了每个-1的索引:

minus_ones = [i for i, j in izip(count(), q) if j == -1]

我还使用常用配方将它们组装成对:

def pairwise(iterable):
a, b = tee(iterable)
next(b, None)
return izip(a,b)
for index in pairwise(minus_ones):
print index

我想要做的下一步是获取索引对之间的值,例如:

list_b: (7 , 16) -> 4 4 4 5 6 7 7 8

所以我可以对这些值做一些工作(我将为每个子数组中的每个值添加一个固定的int.).