我有一列整數算術運算
[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循環,直到列表的長度。你會得到每個項目的價值..然後執行數學,你已經顯示在你的例如: –