📌  相关文章
📜  Python|将列表中的所有数字相乘(4 种不同的方式)

📅  最后修改于: 2022-05-13 01:55:04.877000             🧑  作者: Mango

Python|将列表中的所有数字相乘(4 种不同的方式)

给定一个列表,打印将列表中所有数字相乘后的值。
例子:

Input :  list1 = [1, 2, 3] 
Output : 6 
Explanation: 1*2*3=6 

Input : list1 = [3, 2, 4] 
Output : 24 

方法一:遍历

将乘积的值初始化为 1(不是 0,因为 0 乘以任何返回零)。遍历到列表末尾,将每个数字与乘积相乘。最后存储在产品中的价值会给你最终的答案。
以下是上述方法的Python实现:

Python
# Python program to multiply all values in the
# list using traversal
 
def multiplyList(myList) :
     
    # Multiply elements one by one
    result = 1
    for x in myList:
         result = result * x
    return result
     
# Driver code
list1 = [1, 2, 3]
list2 = [3, 2, 4]
print(multiplyList(list1))
print(multiplyList(list2))


Python3
# Python3 program to multiply all values in the
# list using numpy.prod()
 
import numpy
list1 = [1, 2, 3]
list2 = [3, 2, 4]
 
# using numpy.prod() to get the multiplications
result1 = numpy.prod(list1)
result2 = numpy.prod(list2)
print(result1)
print(result2)


Python3
# Python3 program to multiply all values in the
# list using lambda function and reduce()
 
from functools import reduce
list1 = [1, 2, 3]
list2 = [3, 2, 4]
 
 
result1 = reduce((lambda x, y: x * y), list1)
result2 = reduce((lambda x, y: x * y), list2)
print(result1)
print(result2)


Python3
# Python3 program to multiply all values in the
# list using math.prod
 
import math
list1 = [1, 2, 3]
list2 = [3, 2, 4]
 
 
result1 = math.prod(list1)
result2 = math.prod(list2)
print(result1)
print(result2)


输出:

6
24 



方法 2:使用 numpy.prod()

我们可以使用 numpy.prod() from import numpy 来获取列表中所有数字的乘法。它根据乘法结果返回整数或浮点值。
下面是上述方法的 Python3 实现:

Python3

# Python3 program to multiply all values in the
# list using numpy.prod()
 
import numpy
list1 = [1, 2, 3]
list2 = [3, 2, 4]
 
# using numpy.prod() to get the multiplications
result1 = numpy.prod(list1)
result2 = numpy.prod(list2)
print(result1)
print(result2)

输出:

6
24 

方法 3 使用 lambda函数:使用 numpy.array

Lambda 的定义不包括“return”语句,它总是包含一个返回的表达式。我们还可以将 lambda 定义放在任何需要函数的地方,我们根本不必将它分配给变量。这就是 lambda 函数的简单性。 Python中的reduce()函数接受一个函数和一个列表作为参数。使用 lambda函数和一个列表调用该函数,并返回一个新的简化结果。这对列表对执行重复操作。
下面是上述方法的 Python3 实现:

Python3

# Python3 program to multiply all values in the
# list using lambda function and reduce()
 
from functools import reduce
list1 = [1, 2, 3]
list2 = [3, 2, 4]
 
 
result1 = reduce((lambda x, y: x * y), list1)
result2 = reduce((lambda x, y: x * y), list2)
print(result1)
print(result2)

输出:

6
24 

方法 4 使用数学库的 prod函数:使用 math.prod

从Python 3.8 开始,标准库的数学模块中包含了一个 prod函数,因此无需安装外部库。
下面是上述方法的 Python3 实现:

Python3

# Python3 program to multiply all values in the
# list using math.prod
 
import math
list1 = [1, 2, 3]
list2 = [3, 2, 4]
 
 
result1 = math.prod(list1)
result2 = math.prod(list2)
print(result1)
print(result2)

输出:

6
24