1. 程式人生 > >第五次作業0929

第五次作業0929

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