如何在python中对列表中的每个数字进行求和?
因此,我有一个数字列表:如何在python中对列表中的每个数字进行求和?,python,Python,因此,我有一个数字列表: list = [4,5,65,94,3] 此循环将列表中的第一个数字与列表中的每个数字相加: for i in list: sum = i + list[0] 如何移动到列表中的下一项,以便循环将该列表中的每个数字相加?不太清楚您在尝试什么。要在python中查找列表的总和,只需执行以下操作: for i in li: total += i total = 0 li = [4,5,65,94,3] for i in li: total +=
list = [4,5,65,94,3]
此循环将列表中的第一个数字与列表中的每个数字相加:
for i in list:
sum = i + list[0]
如何移动到列表中的下一项,以便循环将该列表中的每个数字相加?不太清楚您在尝试什么。要在python中查找列表的总和,只需执行以下操作:
for i in li:
total += i
total = 0
li = [4,5,65,94,3]
for i in li:
total += i
您当前正在做的是更改每次迭代的sum值,使其等于i加上列表的第一个元素。这将使循环结束时的和等于7,因为它将最后一个元素(3)与第一个元素(4)相加
或者,python有一个内置函数来对列表中的数字求和,因此您的代码可以简化为:
li = [4,5,65,94,3]
total = sum(li)
编辑:正如其他人所指出的,避免将变量命名为函数。因此,这里有两个误解 首先,这个循环并不像你描述的那样。如果
sum
是在循环之外定义的,那么在循环之后添加的唯一值就是列表中的最后一个元素以及列表第一个位置的任何元素。对于您当前的列表,总数为7
第二,已经有了一个方便的函数来完成这项工作-sum
,它可以缩短任务的执行时间
sum([4,5,65,94,3])
但如果你坚持自己做这件事,你必须做几件事:
- 确保要累积的变量是数学运算的前哨值。此外,它必须从0开始。对于乘法,它从1开始
- 增加你原来的价值;不要覆盖它的值。这意味着要么
要么total=total+i
total+=i
- 请记住,Python的
循环实际上是一个for-each循环<代码>i将在列表中前进,并依次绑定到每个值for
for i in li:
total += i
total = 0
li = [4,5,65,94,3]
for i in li:
total += i
最后,请注意,避免隐藏函数名。
列表
和求和
已经定义为函数,您确实不想隐藏它们。或者如果您确实想使用索引进行迭代,您可以像这样使用范围函数
对于范围内的i(len(列表)):
在循环中考虑一个循环,用<代码> >列表[VAR2] 替换“<代码>列表[0 ] < /代码>这不是简单的<代码>求和>项目数< /COD>?您的最终<代码>和> /COD>实际上只是第一个元素的最后一个元素。这就是你所期望的吗?所以。。。完成此操作后,您实际希望得到什么结果?这个问题有点不清楚,但在我看来,您需要一个新的列表。
list
和sum
可能在问题中使用过,但我强烈建议您将它们更改为不会为您的答案屏蔽内置函数的名称。@TigerhawkT3哦,是的。只是想模仿OP的名字。我不知道这个网站上有什么会议。将更改它。最好使用枚举(列表)中的索引i