python - 如何将列表中的所有元素相互相乘?

标签 python list math operator-keyword multiplication

<分区>

我试图将列表中的所有数字相互相乘

a = [2,3,4]
for number in a:
        total = 1 
        total *= number 
return total 

此输出应为 24,但出于某种原因我得到 4。为什么会这样?

最佳答案

您在循环的每次迭代中将 total 初始化为 1。

代码应该是(如果您确实想要手动执行):

a = [2, 3, 4]
total = 1
for i in a:
    total *= i

这可以解决您的直接问题,但是,如果您使用的是 Python 3.8 或更高版本,则此功能位于 math 库中:

import math
a = [2, 3, 4]
total = math.prod(a)

关于python - 如何将列表中的所有元素相互相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61262910/

相关文章:

c# - ASP.Net XUnit 检查对象列表是否包含特定对象

c# - 将不同的 ID 复制到列表

math - 就叶子数而言,完整k元树中的节点总数是多少?

使用 mutate 和 rowwise 返回列表

python - 计算两点之间的角度(顺时针)

python - 2道数学题

python程序结构及全局变量的使用

python - 如何执行多个数学运算来派生新列?

python - 在Python中打包字符串的正确方法

python - 错误 403 : HTTP status code is not handled or not allowed in scrapy