微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在列表中找到相似的项目,添加它们,然后将结果添加到另一个列表

如何解决在列表中找到相似的项目,添加它们,然后将结果添加到另一个列表

我有一个列表,我正在尝试查找相似的项目,将它们添加到临时列表中,找到相似项目的总和,然后将该结果添加到另一个列表中。我得到的结果是 [15,6] 以下但我期望得到 [20,12,16]?我似乎无法包含所有相似的数字,并且似乎无法让 for 循环包含相似项目的最后一个数字。到目前为止,请查看以下代码,有任何意见会有所帮助吗?

start_list = [5,5,6,8,8]
temp_list = []
final_list = []

for i in range(len(start_list )-1):
    if start_list [i] == start_list [i+1]:
        temp_list.append(start_list [i])
    else:
        total = sum(temp_list)
        final_list .append(total)
        temp_list = []

print(final_list)

解决方法

只需使用计数器:

from collections import Counter

start_list = [5,5,6,8,8]

c = Counter(start_list)
print([x*n for x,n in c.items()])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。