我必须将列表中的相邻数字相加,如下所示:
ls = [5, -2, -2, 2, -4, -2 ,-2, 7, 3, 1]
输出应该是: [5, -4, 2, -8, 11]
from itertools import groupby
ls = [5, -2, -2, 2, -4, -2 ,-2, 7, 3, 1]
[sum(g) for _, g in groupby(ls, key=lambda x: x < 0)]
# [5, -4, 2, -8, 11]
Run Code Online (Sandbox Code Playgroud)