首頁(yè)人工智能常見(jiàn)問(wèn)題正文

numpy array和python list相比有什么優(yōu)勢(shì)?

更新時(shí)間:2020-09-25 來(lái)源:黑馬程序員 瀏覽量:

1601015119383_numpy-array.jpg


從圖中我們可以看出ndarray在存儲(chǔ)數(shù)據(jù)的時(shí)候,數(shù)據(jù)與數(shù)據(jù)的地址都是連續(xù)的,這樣就給使得批量操作數(shù)組元素時(shí)速度更快。

這是因?yàn)閚darray中的所有元素的類(lèi)型都是相同的,而Python列表中的元素類(lèi)型是任意的,所以ndarray在存儲(chǔ)元素時(shí)內(nèi)存可以連續(xù),而python原生list就只能通過(guò)尋址方式找到下一個(gè)元素,這雖然也導(dǎo)致了在通用性能方面Numpy的ndarray不及Python原生list,但在科學(xué)計(jì)算中,Numpy的ndarray就可以省掉很多循環(huán)語(yǔ)句,代碼使用方面比Python原生list簡(jiǎn)單的多。

·ndarray支持并行化運(yùn)算(向量化運(yùn)算)

·效率遠(yuǎn)高于純Python代碼

Numpy底層使用C語(yǔ)言編寫(xiě),內(nèi)部解除了GIL(全局解釋器鎖),其對(duì)數(shù)組的操作速度不受Python解釋器的限制,所以,其效率遠(yuǎn)高于純Python代碼。


猜你喜歡

如何理解HOG特征?

圖像的角點(diǎn)是什么?

SIFT/SUR的特征提取方法是如何保持尺度不變性的?

為什么要學(xué)習(xí)人工智能?


下面是黑馬程序員公開(kāi)的幾套人工智能視頻教程,如果感興趣可以下載學(xué)習(xí)。






分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!