Python教程-在Python中将列表中的所有元素相乘
在本教程中,我们将学习如何在Python中将列表中的所有元素相乘。
让我们通过一些示例来理解我们的目标-
Input - [2, 3, 4]
Output - 24
我们可以看到,在输出中,我们获得了列表中所有元素的乘积。
Input - [3, 'a']
Output - aaa
由于第一个元素是三,因此在输出中'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
解释:
现在让我们来看看上面程序的解释-
- 在第一步,我们创建了一个函数,该函数将列表作为输入。
- 在函数定义中,我们使用一个for循环,它从列表中取出每个元素,最初将其与1相乘,然后打印乘积的结果值。
- 在下一步中,我们初始化了列表,然后将它们传递到我们的函数中。
- 在执行此程序时,会显示期望的输出。
在第二个程序中,我们将看到如何使用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
解释:
让我们了解一下上面程序中的操作。
- 在第一步,我们导入了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
解释:
让我们了解一下上面程序中发生了什么。
- 在第一步,我们从模块中导入了reduce。
- 接下来,我们初始化了两个列表,list_value1 和 list_value2。
- 我们使用了定义函数的精确方式,即lambda,然后提供了所需的功能。
- 在执行程序时,会显示期望的值。
结论
在本教程中,我们学习了在Python中将列表中的元素相乘的各种方法。