首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Python将列表中的所有项相乘?

如何使用Python将列表中的所有项相乘?
EN

Stack Overflow用户
提问于 2012-12-12 21:00:14
回答 17查看 284.3K关注 0票数 239

我需要编写一个函数,该函数接受数字的列表,然后将它们相乘。例如:[1,2,3,4,5,6]会给我1*2*3*4*5*6。我真的需要你的帮助。

EN

回答 17

Stack Overflow用户

发布于 2012-12-12 21:03:19

Python 3:使用functools.reduce

代码语言:javascript
复制
>>> from functools import reduce
>>> reduce(lambda x, y: x*y, [1,2,3,4,5,6])
720

Python 2:使用reduce

代码语言:javascript
复制
>>> reduce(lambda x, y: x*y, [1,2,3,4,5,6])
720

要与2和3兼容,请使用pip install six,然后:

代码语言:javascript
复制
>>> from six.moves import reduce
>>> reduce(lambda x, y: x*y, [1,2,3,4,5,6])
720
票数 239
EN

Stack Overflow用户

发布于 2012-12-12 21:03:07

您可以使用:

代码语言:javascript
复制
import operator
import functools
functools.reduce(operator.mul, [1,2,3,4,5,6], 1)

有关说明,请参阅reduceoperator.mul文档。

您需要在Python 3+中使用import functools行。

票数 183
EN

Stack Overflow用户

发布于 2015-09-07 01:54:16

我将使用numpy.prod来执行该任务。见下文。

代码语言:javascript
复制
import numpy as np
mylist = [1, 2, 3, 4, 5, 6] 
result = np.prod(np.array(mylist))  
票数 101
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13840379

复制
相关文章

相似问题

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