如何在忽略重复数字的同时汇总数字列表?

时间:2014-03-27 00:00:44

标签: python

我需要帮助尝试在列表中总结数字而忽略重复项。假设我有一个列表[1,2,3,3,3],答案应该是6,因为1 + 2 + 3 = 6.额外的2和额外的3不应该包含在计算中。

def sumOfUniqueNums(list):

    sum = 0

    list1 = [1, 2, 2, 3, 3, 3]
    remove = []
    [remove.append(i) for i in list1 if i not in remove]

    sum(list1)

    return sum

更新功能

def sumOfUniqueNums(numbers):
    return sum(set(numbers))

2 个答案:

答案 0 :(得分:4)

set不能包含重复值,因此它就像

一样简单
sum(set(list1))

Python会让你覆盖内置名称,因此在此之前你需要取消分配sum

答案 1 :(得分:0)

试试这个,应该可以正常工作:

def sumOfUniqueNums(values):
    return sum(set(values))

print sumOfUniqueNums([1,1,2,2])
3

print sumOfUniqueNums([1,1,2,2,3])
6