如何将列表中的所有项与Python相乘?

2024-04-26 18:30:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要写一个函数 一个数字列表,并将其相乘。例子: [1,2,3,4,5,6]会给我1*2*3*4*5*6。我真的需要你的帮助。


Tags: 函数列表数字例子
3条回答

您可以使用:

import operator
import functools
functools.reduce(operator.mul, [1,2,3,4,5,6], 1)

有关说明,请参见^{}^{}文档。

您需要Python 3+中的import functools行。

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

import numpy as np
mylist = [1, 2, 3, 4, 5, 6] 
result = np.prod(np.array(mylist))  

Python 3:使用functools.reduce

>>> from functools import reduce
>>> reduce(lambda x, y: x*y, [1,2,3,4,5,6])
720

Python 2:使用reduce

>>> reduce(lambda x, y: x*y, [1,2,3,4,5,6])
720

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

>>> from six.moves import reduce
>>> reduce(lambda x, y: x*y, [1,2,3,4,5,6])
720

相关问题 更多 >