DSJ666

numpy数组及处理:效率对比

用列表+循环实现,并包装成函数

n=10
def lssum(n):
    a = list(range(n))
    b = list(range(0,n*5,5))
    c =[]
    for i in range(len(a)):
        c.append(a[i]**2+b[i]**3)
    return (c)
print(lssum(n))

  运行结果如下:

 

2.用numpy实现,并包装成函数

import numpy as np
n=10
def numpy(n):
    a=np.arange(n)
    b=np.arange(0,5*n,5)
    c = a**2 + b**3
    return (c)
print(numpy(n))

  运行结果如下:

3.对比两种方法实现的效率,给定一个较大的参数n,用运行函数前后的timedelta表示。

n=10
def lssum(n):
    a = list(range(n))
    b = list(range(0,n*5,5))
    c =[]
    for i in range(len(a)):
        c.append(a[i]**2+b[i]**3)
    return (c)
print(lssum(n))

import numpy as np
n=10
def numpy(n):
    a=np.arange(n)
    b=np.arange(0,5*n,5)
    c = a**2 + b**3
    return (c)
print(numpy(n))

from datetime import datetime
start=datetime.now()
lssum(100000)
delta=datetime.now()-start
print(delta)

start=datetime.now()
numpy(100000)
delta=datetime.now()-start
print(delta)

  

 

posted on 2018-10-22 11:41  DSJ666  阅读(246)  评论(0)    收藏  举报

导航