Python 在列表中相乘所有数字
您将理解如何在Python中使用各种方法相乘列表中的每个数字。列表是一个有序的值集合,其被包含在方括号中。列表包含的值被称为项,可以通过其唯一的索引来检索。我们将创建一个函数,将列表中的每个值相乘并输出结果。
相乘所有值的结果是一个单一的值。例如,在列表[3,2,6]中,结果将为36。我们将介绍计算列表中所有数字和的各种方法。
使用math.prod()函数
在该方法中,使用math模块的prod()函数计算乘积。在我们的程序中,math模块使用户可以访问许多数学操作,包括pow(),sum()和avg()。
步骤
以下是使用math.prod()函数将列表中所有数字相乘的方法:
- 导入模块。
-
为数字乘法定义一个函数。
-
然后返回math.prod(list)。
-
创建一个列表。
-
调用函数并传递列表。
-
打印函数返回的值。
示例
以下是使用math.prod()函数在列表中相乘所有数字的示例:
#importing math module
import numpy
def multiply_numbers(list):
return numpy.prod(list)
given_list = [2,5,3,7,4,85,-3]
print('The list is:',given_list)
print("The product is: ")
print(multiply_numbers(given_list))
输出
以下是上述代码的输出 –
The list is: [2, 5, 3, 7, 4, 85, -3]
The product is:
-214200
使用numpy.prod()函数
在这种方法中,使用NumPy模块的prod()函数来计算乘积。它使程序员能够处理大量的数据和各种高级数学计算。
步骤
以下是使用numpy.prod()函数来将列表中的所有数字相乘的方法:
- 导入模块。
- 定义一个用于数字乘法的函数。
- 然后返回numpy.prod(list)。
- 创建一个列表。
- 调用函数并传入列表。
- 打印函数返回的值。
示例
以下是使用numpy.prod()函数将列表中的所有数字相乘的示例:
#importing math module
import numpy
def multiply_numbers(list):
return numpy.prod(list)
given_list = [2,1,3,7,4,85,3]
print('The list is:',given_list)
print("The product is: ")
print(multiply_numbers(given_list))
输出
以下是上述代码的输出结果:
The list is: [2, 1, 3, 7, 4, 85, 3]
The product is:
42840
使用for循环
在这种方法中,我们将会在整个列表中搜索,直到找到目标项。列表中的每个整数都需要乘以一个名为product的变量,product的初始值为1,得到最终答案。Python语言的for循环将被用于访问列表中的每个整数。
步骤
以下是使用for循环来乘以列表中的所有数字的方法:
- 定义一个用于乘法的函数。
- 声明一个名为product的变量,并将其设为1。
- 对列表中的每个元素执行循环。
- 将每个元素乘以product。
- 返回product。
- 创建一个列表。
- 将列表传递给我们的函数。
- 打印函数返回的值。
示例
以下是使用for循环来乘以列表中的所有数字的示例:
def multiply_numbers(list):
prod = 1
for i in list:
prod = prod*i
return prod
given_list = [2,1,3,7,4,85,3]
print('The list is:',given_list)
print("The product is: ")
print(multiply_numbers(given_list))
输出
以下是以上代码的输出 –
The list is: [2, 1, 3, 7, 4, 85, 3]
The product is:
42840
使用reduce()函数
可以导入functools包中的reduce()方法。它接受三个参数:函数、序列和初始值[可选]。
首先,函数从序列中获取两个数据项。然后,函数将得到的结果与第三个数据项一起传递给函数。直到迭代器中没有更多的数据项为止,该过程会重复进行。
示例
使用lambda函数
以下示例计算列表中每个元素的乘积。reduce()函数接受list_1作为参数,以及一个lambda函数(lambda m, n: m * n)
。
lambda函数接收给定列表的元素作为参数。lambda函数在乘以参数后返回乘积值。reduce()函数的输出是一个单个值。
from functools import reduce
given_list = [2,1,3,2,4,8,3]
print('The list is:',given_list)
product= print('The list is:',reduce((lambda m, n: m*n), given_list))
输出
以下是上述代码的输出结果。
The list is: [2, 1, 3, 2, 4, 8, 3]
The list is: 1152
使用mul()函数
示例
在我们可以使用mul()函数将列表的所有值相乘之前,需要先导入operator模块。
from operator import*
given_list = [2,-3,3,2,4,5,3]
print('The list is:',given_list)
p = 1
for i in given_list:
# multiply all the elements in the given list
p = mul(i, p)
print(p)
输出
以下是上述代码的输出结果:
The list is: [2, -3, 3, 2, 4, 5, 3]
-2160