作者:我俩的12月11_484 | 来源:互联网 | 2022-11-29 10:22
我必须将列表中的相邻数字相加,如下所示:
ls = [5, -2, -2, 2, -4, -2 ,-2, 7, 3, 1]
输出应该是: [5, -4, 2, -8, 11]
1> schwobaseggl..:
使用itertools.groupby
和sum
:
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]