Python:将python数组拆分为3个标记的部分

时间:2018-03-19 09:27:18

标签: python arrays numpy split

我有一个数组a=[2,4,5,'Flag',3,7,'Flag',2,5]

想要将其分解为b[0]=[2,4,5]b[1]=[3,7]b[2]=[2,5]

我该怎么做?可以使用numpy。

2 个答案:

答案 0 :(得分:3)

您可以使用itertools.groupby()

>>> from itertools import groupby
>>> a=[2,4,5,'Flag',3,7,'Flag',2,5]
>>> b = [list(g) for k, g in groupby(a, lambda x: x == 'Flag') if not k]
>>> b
[[2, 4, 5], [3, 7], [2, 5]]

答案 1 :(得分:0)

使用简单的for循环:

a = [2, 4, 5, 'Flag', 3, 7, 'Flag', 2, 5]
result = [[]]
for i in a:
  if i == 'Flag':
    result.append([])
  else:
    result[-1].append(i)

print(result)

输出:

[[2, 4, 5], [3, 7], [2, 5]]