使用python从条件列表创建列表

时间:2017-02-10 12:06:49

标签: python python-2.7 sum

我有一个名为[7,1,2,2,3,1,2,3,3]的列表。所以我们必须创建另一个列表,其中包含如果原始元素是一次然后简单地追加,如果元素多次并且连续然后总结并添加到新列表中。上面列表的输出应为[7,1,4,3,1,2,6]

任何帮助都非常明显。

1 个答案:

答案 0 :(得分:5)

又一个案例for 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)

输出:

[7, 1, 4, 3, 1, 2, 6]

它总结了每个相同数字的运行(包括&#34;运行&#34;单个值,因此不需要特殊处理非重复的情况),用总和替换运行。< / p>