Diego Asked: 2020-09-25 14:25:07 +0800 CST 2020-09-25 14:25:07 +0800 CST 2020-09-25 14:25:07 +0800 CST 将数组中的所有数值元素相乘 772 例如,我们有一个数组: [1,2,5,7,12,3,9] 如何不使用 for 循环将数组的所有元素相乘? python 4 Answers Voted Best Answer Rostan 2020-09-25T14:57:07+08:002020-09-25T14:57:07+08:00 您需要使用 numpy,它有一种称为prod的方法,可以将数组中的所有元素相乘。 << import numpy as np << a = [1,2,3,4] << print(np.prod(a)) >> 24 希望我的回答对你有所帮助,问候。 adevel 2020-09-25T15:27:31+08:002020-09-25T15:27:31+08:00 如果没有 numpy,它将是: import operator import functools functools.reduce(operator.mul, [1,2,5,7,12,3,9]) 您可以查看减少文档:https ://docs.python.org/2/library/functions.html#reduce 它基本上在元素列表上累积执行两个参数的函数,在本例中为 mul,但您可以使用其他“类似函数的运算符”,如“sub”或“add”,此处为https://docs.python的完整列表.org/2/library/operator.html#operator.mul aeportugal 2020-09-25T15:24:20+08:002020-09-25T15:24:20+08:00 不使用 numpy 的另一种方法: >>> from functools import reduce >>> items = [1,2,5,7,12,3,9] >>> reduce(lambda x, y: x*y, items) 22680 Javier Cárdenas 2020-09-25T18:35:45+08:002020-09-25T18:35:45+08:00 它不是很 Pythonic,但这个选项不使用 for 循环: arr = [1,2,5,7,12,3,9] i = 0 prod = 1 while i < len(arr): prod = prod * arr[i] i += 1 print(prod)
您需要使用 numpy,它有一种称为prod的方法,可以将数组中的所有元素相乘。
希望我的回答对你有所帮助,问候。
如果没有 numpy,它将是:
您可以查看减少文档:https ://docs.python.org/2/library/functions.html#reduce
它基本上在元素列表上累积执行两个参数的函数,在本例中为 mul,但您可以使用其他“类似函数的运算符”,如“sub”或“add”,此处为https://docs.python的完整列表.org/2/library/operator.html#operator.mul
不使用 numpy 的另一种方法:
它不是很 Pythonic,但这个选项不使用 for 循环: