Skip to main content
 首页 » 编程设计

Python:编辑分隔符之间的嵌套列表中的数字总和

2025年05月04日12findumars

我有嵌套列表,看起来像这样 [[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]]