在Python中将列表中的所有元素相乘
在本教程中,我们将学习如何在Python中将列表的所有元素相乘。
让我们看一些示例来理解我们的目标-
Input - [2, 3, 4]
Output - 24
我们可以观察到,在输出中我们得到了列表中所有元素的乘积。
Input - [3, 'a']
Output - aaa
由于第一个元素是3,所以在输出中a被打印了三次。
我们将学习以下方法:
- 遍历列表
- 使用NumPy
- 使用lambda
让我们从第一个开始:
遍历列表
考虑下面给出的程序-
#creating a function
def multiply_ele(list_value1):
#multiply the elements
prod=1
for i in list_value1:
prod = prod*i
return prod
#initializing the list
list_value1 = [10, 11, 12, 13, 14]
list_value2 = [2, 3, 4, 5, 6, 7]
#displaying the resultant values
print("The multiplication of all the elements of list_value1 is: ", multiply_ele(list_value1))
print("The multiplication of all the elements of list_value2 is: ", multiply_ele(list_value2))
输出:
The multiplication of all the elements of list_value1 is: 240240
The multiplication of all the elements of list_value2 is: 5040
解释-
现在是时候来看一下上面程序的解释了-
- 在步骤1中,我们创建了一个函数,该函数将列表作为输入。
- 在函数定义中,我们使用了一个for循环,它从列表中取出每个元素,将其初始乘以一,并打印乘积的结果值。
- 在下一步中,我们初始化了列表,然后将它们传递到我们的函数中。
- 执行此程序后,将显示所需的输出。
在第二个程序中,我们将看到NumPy如何帮助我们实现相同的功能。
使用NumPy
以下程序演示了如何在Python中实现这一点。
#importing the NumPy module
import numpy
#initializing the list
list_value1 = [10, 11, 12, 13, 14]
list_value2 = [2, 3, 4, 5, 6, 7]
#using numpy.prod()
res_list1 = numpy.prod(list_value1)
res_list2 = numpy.prod(list_value2)
#displaying the resultant values
print("The multiplication of all the elements of list_value1 is: ", res_list1)
print("The multiplication of all the elements of list_value2 is: ", res_list2)
输出:
The multiplication of all the elements of list_value1 is: 240240
The multiplication of all the elements of list_value2 is: 5040
说明-
让我们理解一下在上面的程序中我们做了什么。
- 在步骤1中,我们导入了NumPy模块。
- 在下一步中,我们初始化了两个列表list_value1和list_value2的值。
- 在此之后,我们将使用 prod() 来计算列表中元素的乘积。
- 执行程序后,将显示预期的输出。
最后,我们将学习如何使用lambda来乘以列表的元素。
使用lambda函数
下面的程序演示了相同的操作-
#importing the module
from functools import reduce
#initializing the list
list_value1 = [10, 11, 12, 13, 14]
list_value2 = [2, 3, 4, 5, 6, 7]
#using numpy.prod()
res_list1 = reduce((lambda a, b:a*b), list_value1)
res_list2 = reduce((lambda a, b:a*b), list_value2)
#displaying the resultant values
print("The multiplication of all the elements of list_value1 is: ", res_list1)
print("The multiplication of all the elements of list_value2 is: ", res_list2)
输出:
The multiplication of all the elements of list_value1 is: 240240
The multiplication of all the elements of list_value2 is: 5040
解释-
让我们理解一下上面程序中发生了什么。
- 在步骤1中,我们从中导入了reduce
- 在此之后,我们初始化了两个列表, list_value1 和 list_value2 。
- 我们使用了精确定义函数的方式,即lambda,然后提供所需功能。
- 执行程序后,显示所需的值。
结论
在本教程中,我们学习了在Python中对列表中的元素进行乘法的各种方法。