首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >乘列表数并打印总数(聚合)

乘列表数并打印总数(聚合)
EN

Stack Overflow用户
提问于 2019-01-04 11:30:50
回答 2查看 246关注 0票数 0

我正在尝试创建一个基本的Python脚本,它允许我将列表中的每个数字相乘并打印总数。

例如,如果我的列表包含2,5,1,我希望脚本乘以2*5*1,这将给出10。由于某种原因,我无法产生这个结果,我能够通过将数字相加(在下面可以看到)来产生它,但是当我将第8行改为乘时,它不会给我预期的结果(在上面的例子中,它给出了30而不是预期的10)。

不正确的乘法列表总数:

代码语言:javascript
复制
# input list
numbers = [2, 5, 1]
# output list
total = 0
# for each number in the list:
for number in numbers:
    # update total
    total = total + number * number
# print the total
print(total)

脚本,它成功地将数字添加到列表中:

代码语言:javascript
复制
# input list
numbers = [2, 5, 1]
# output list
total = 0
# for each number in the list:
for number in numbers:
    # update total
    total = total + number
# print total
print(total)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-04 11:30:50

要将列表中的数字乘以并打印总计,您需要将总数设置为1,并且需要使用*=运算符。这简单的意思是“左手边表达式=本身*右手边表达式”。

代码语言:javascript
复制
# input list
numbers = [2, 5, 1]
# output list
total = 1
# for each number in the list:
for number in numbers:
    # update total
    total *= number
# print total
print(total)

打印10 (2 *5*1= 10)

票数 1
EN

Stack Overflow用户

发布于 2019-01-04 11:36:02

这样做的惯用方法是reduce --字面意思是逐个元素“减少”您的序列元素,并以单个值结束。如果需要乘法,可以使用operator.mul编程方法进行乘法:

代码语言:javascript
复制
from functools import reduce
from operator import mul

total = reduce(mul, [2, 5, 1])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54038127

复制
相关文章

相似问题

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