我有一个数组a=[2,4,5,'Flag',3,7,'Flag',2,5]
。
想要将其分解为b[0]=[2,4,5]
,b[1]=[3,7]
,b[2]=[2,5]
我该怎么做?可以使用numpy。
答案 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]]