Bim*_*rma 0 python sum python-2.7
我有一个名单[7,1,2,2,3,1,2,3,3].所以我们必须创建另一个列表,其中包含如果原始元素是一次然后简单地追加,如果元素多次并且连续然后总结并添加到新列表中.上面列表的输出应该是[7,1,4,3,1,2,6]
任何帮助都很明显.
另一种情况为itertools.groupby,它在合并相同的值游大:
from itertools import groupby
mylist = [7,1,2,2,3,1,2,3,3]
collapsedlist = [sum(grp) for _, grp in groupby(mylist)]
print(collapsedlist)
Run Code Online (Sandbox Code Playgroud)
哪个输出:
[7, 1, 4, 3, 1, 2, 6]
Run Code Online (Sandbox Code Playgroud)
它汇总了每个相同数字的运行(包括单个值的"运行",因此非重复情况不需要特殊处理),用总和替换运行.