首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何添加集合的元素并打印它们的和?

如何添加集合的元素并打印它们的和?
EN

Stack Overflow用户
提问于 2019-06-01 15:48:06
回答 3查看 122关注 0票数 0

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

我是通过将集合转换成列表来完成的,这是他们的任何其他方式,而不需要将集合转换为列表。

代码语言:javascript
运行
复制
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:/Users/Usman/AppData/Local/Programs/Python/Python37/ddd.py",第5行,在z=(a1x) TypeError中:“set”对象不可订阅

我希望结果是55

EN

回答 3

Stack Overflow用户

发布于 2019-06-01 15:51:41

代码语言:javascript
运行
复制
>>> a = set(range(1, 10+1)) # a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
>>> sum(a)
55
>>>

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

票数 2
EN

Stack Overflow用户

发布于 2019-06-01 15:51:13

您可以使用sum函数。

代码语言:javascript
运行
复制
a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
print(sum(a))
票数 1
EN

Stack Overflow用户

发布于 2019-06-01 16:23:26

与其他答案一样,sum的使用对此非常有用。然而,如果不使用sum,OP可能会尝试使用这样的构造,这在需要其他操作的上下文中可能很有用,而不仅仅是sum。因此,我也在这里张贴它:

代码语言:javascript
运行
复制
>>> sum = 0
>>> for item in a1:
...     sum += item
... 
>>> print(sum)
55
>>> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56408157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档