我有嵌套列表,看起来像这样 [[1, 0, 0, 1, 1], [1, 1, 1, 0, 1]]。我如何对分隔符(在本例中为零)之间的数字(在本例中为 1)求和以获得如下输出:[[1,2], [3,1]]?
编辑 那么列表以 0 开头并且有更多组的情况呢?例如 [0, 1, 0, 1, 1, 0, 1, 1] --> [1, 2, 2]
请您参考如下方法:
你可以使用 groupby :
from itertools import groupby
data = [[1, 0, 0, 1, 1], [1, 1, 1, 0, 1]]
separator = 0
result = [[sum(v) for k, v in groupby(element, key=lambda x: x != separator) if k] for element in data]
print(result)
输出
[[1, 2], [3, 1]]
