如何添加集合的元素并打印其总和?

时间:2019-06-01 15:48:07

标签: python-3.x set

如何添加集合中的元素并打印它们的总和

我已经通过将集合转换为列表的方式完成了此操作,而无需将集合转换为列表

a1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
x = 0
sum = 0
while x != 10:
    z = list(a1)[x]
    sum += z
    x += 1
    print(sum)


a1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
x = 0
sum = 0
while x != 10:
    z = a1[x]
    sum += z
    x += 1
    print(sum)
  

回溯(最近通话最近):文件   “ C:/用户/ Usman / AppData /本地/程序/Python/Python37/ddd.py”,行   5,在       z =(a1 [x])TypeError:“设置”对象不可下标

我希望结果是55

3 个答案:

答案 0 :(得分:2)

>>> a = set(range(1, 10+1)) # a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
>>> sum(a)
55
>>>

set迭代变量是无序的,因此没有索引。这就解释了您得到的TypeError

答案 1 :(得分:1)

您可以使用sum函数。

a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
print(sum(a))

答案 2 :(得分:0)

根据其他答案,sum的用法非常有用。但是,如果不使用sum,OP可能会尝试使用这样的构造,这可能在需要其他动作的环境中很有用,而不仅仅是sum。所以我也在这里发布:

>>> sum = 0
>>> for item in a1:
...     sum += item
... 
>>> print(sum)
55
>>>