我有一列整数算术运算
[2, 5, 6, 7...n]
我想执行的算术运算,使;
- 计算每个元素的平方和,并且;
- 产生每个元素的累积乘法。
对于如:
2*2 + 5*5 + 6*6 + 7*7+...n*n
2*5*6*7...*n
我该怎么做呢?
我有一列整数算术运算
[2, 5, 6, 7...n]
我想执行的算术运算,使;
对于如:
2*2 + 5*5 + 6*6 + 7*7+...n*n
2*5*6*7...*n
我该怎么做呢?
这是一个列表理解或循环相当简单:
In [1]: L = [2, 5, 6, 7]
In [2]: sum([e*e for e in L])
Out[2]: 114
In [3]: prod = 1
In [4]: for e in L:
...: prod *= e
...:
In [5]: prod
Out[5]: 420
如果你使用的是NumPy,事情就更简单了,因为许多数组操作都是矢量化的:
In [7]: import numpy as np
In [8]: a = np.array(L)
In [9]: a**2
Out[9]: array([ 4, 25, 36, 49])
In [10]: np.sum(a**2)
Out[10]: 114
In [11]: np.prod(a)
Out[11]: 420
谢谢你。这是我想要的笏.. :) –
然后你应该接受答案。 – Vicent
最简单的方法是循环列表并执行循环内所需的数学函数,然后将结果附加到外部变量。
my_list = [2,3,5,6,7,8]
square_sum_result = 0
product_result = 1
for number in mylist:
square_sum_result += pow(number, 2)
product_result *= number
尽管这很可能不是最有效的方式。
放一个for循环,直到列表的长度。你会得到每个项目的价值..然后执行数学,你已经显示在你的例如: –