我如何将列表中的所有元素彼此相乘? [重复]

问题描述 投票:0回答:4

我正在尝试将列表中的所有数字彼此相乘

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

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

python list math operator-keyword multiplication
4个回答
5
投票

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

代码应该是(如果您实际上是[[want手动进行此操作]:]]a = [2, 3, 4] total = 1 for i in a: total *= i

这解决了您的[[immediate
问题,但是,如果您使用的是Python 3.8或更高版本,则此功能在math库中:

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


1
投票

1
投票

1
投票
© www.soinside.com 2019 - 2024. All rights reserved.