我想使用列表理解来写同样的代码
mul_val = 1
for i in list_a:
mul_val = mul_val * i
print(mul_val)
mul_val = 1
[mul_val = i*mul_val for i in list_a]
答案 0 :(得分:0)
我认为您正在寻找的是reduce
。
reduce
是一个非常有用的函数,用于对列表执行一些计算并返回结果。
from functools import reduce
list_a = [1, 2, 3, 4, 5]
print(reduce(lambda x, y: x * y, list_a))
输出: 120
答案 1 :(得分:0)
如果我对您的理解很好,则可以将列表理解与numpy.prod
结合使用。示例如下:
public static void init(int newA, int newB) {
SampleClass.a = newA;
SampleClass.b = newB;
}
答案 2 :(得分:-1)
这个问题的框架似乎有误,但是从代码中看,您似乎想要列表中所有项目的乘积。
使用numpy.prod(list1)
获取列表中所有元素的乘积。
如果您不想使用numpy,这里有一个很好的解决方案(可接受的答案):Returning the product of a list