我有一个列表,想要找到其中的重复值,并将它们添加到一个临时列表中,然后计算这些重复值的总和,最后将这个结果添加到另一个列表中。以下是我的代码,但是得到的结果是[15,6],而不是我期望的[20,12,16]。我无法包含所有的重复数字,也无法让for循环包含重复值的最后一个数字。请看一下我目前的代码,任何评论都会帮助到我:
start_list = [5,5,5,5,6,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)
range(n)
迭代从 0 至 (n-1) 2/ 在您的if
块中,总是会漏掉一个相同的值(尝试在纸上运行并查看...) - Thierry Lathuillel = [5,5,5,5,6,6,8,8]
,然后执行[l.count(i)*i for i in set(l)]
。 - user9321739[5,5,5,5,6,6,8,8,5,5]
?是[20, 12, 16, 10]
还是[30, 12, 16]
? - Wondercricket