第五次作業0929
阿新 • • 發佈:2018-10-02
png timedelta append now() itl star article numpy list
numpy數組及處理:效率對比
問題:
- 數列:
- a = a1,a2,a3,·····,an
- b = b1,b2,b3,·····,bn
- 求:
- c = a12+b13,a22+b23,a32+b33,·····+an2+bn3
1.用列表+循環實現,並包裝成函數
2.用numpy實現,並包裝成函數
3.對比兩種方法實現的效率,給定一個較大的參數n,用運行函數前後的timedelta表示。
1.輸入代碼:
a = list(range(10)) b = list(range(0,50,5)) c = [] for i in range(len(a)): c.append(a[i]**2+b[i]**3)print(a,b,c)
運行結果:
2.輸入代碼:
import numpy a = numpy.arange(20) b = numpy.arange(0,60,6) print(a,b)
運行結果:
3.輸入代碼:
print(pySum(20)) import numpy def npSum(n): a = numpy.arange(n) b = numpy.arange(0,7*n,7) c = a**2+b**3 return (c) from datetime import datetime start = datetime.now() pySum(100000) delta = datetime.now()-start print(delta) start = datetime.now() npSum(100000) delta = datetime.now()-start print(delta)
運行結果:
第五次作業0929