對(duì)python中l(wèi)ist的拷貝與numpy的array的拷貝詳解
1.python中列表list的拷貝,會(huì)有什么需要注意的呢?

python變量名相當(dāng)于標(biāo)簽名。
list2=list1 ,直接賦值,實(shí)質(zhì)上指向的是同一個(gè)內(nèi)存值。任意一個(gè)變量list1(或list2)發(fā)生改變,都會(huì)影響另一個(gè)list2(或list1)。
eg:
>>> list1=[1,2,3,4,5,6] >>> list2=list1 >>> list1[2]=88 >>> list1 [1, 2, 88, 4, 5, 6] >>> list2 [1, 2, 88, 4, 5, 6]
而list3和list4是通過(guò)切片對(duì)list1的復(fù)制操作,分別指向了新的值。任意改變list3或list4的值,不會(huì)影響其他。
2.要使用ndarray類(lèi)型的數(shù)組,需要from numpy import* 引用工具包numpy。
而對(duì)ndarray類(lèi)型的數(shù)據(jù)進(jìn)行拷貝時(shí),跟list類(lèi)型有一點(diǎn)區(qū)別。

數(shù)組切片是原始數(shù)組的視圖,這意味著數(shù)據(jù)不會(huì)被復(fù)制,視圖上的任何修改都會(huì)被直接反映到源數(shù)組上.
array1,array2,array3,array4實(shí)際指向同一個(gè)內(nèi)存值,任意修改其中的一個(gè)變量,其他變量值都會(huì)被修改。
若想要得到的是ndarray切片的一份副本而非視圖,就需要顯式的進(jìn)行復(fù)制操作函數(shù)copy()。
eg:
array5=array1.copy() #對(duì)原始的array1的復(fù)制 array6=array1[1:4].copy() #對(duì)切片array1[1:4]的復(fù)制
那么,修改array5或array6,就不會(huì)影響array1。
以上這篇對(duì)python中l(wèi)ist的拷貝與numpy的array的拷貝詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pandas 使用merge實(shí)現(xiàn)百倍加速的操作
這篇文章主要介紹了pandas 使用merge實(shí)現(xiàn)百倍加速的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
Python 進(jìn)程之間共享數(shù)據(jù)(全局變量)的方法
今天小編就為大家分享一篇Python 進(jìn)程之間共享數(shù)據(jù)(全局變量)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Python+Kepler.gl實(shí)現(xiàn)時(shí)間輪播地圖過(guò)程解析
這篇文章主要介紹了Python+Kepler.gl實(shí)現(xiàn)時(shí)間輪播地圖過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
python實(shí)現(xiàn)保存網(wǎng)頁(yè)到本地示例
這篇文章主要介紹了python實(shí)現(xiàn)保存網(wǎng)頁(yè)到本地示例,需要的朋友可以參考下2014-03-03
Python實(shí)現(xiàn)矩陣轉(zhuǎn)置的方法分析
這篇文章主要介紹了Python實(shí)現(xiàn)矩陣轉(zhuǎn)置的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python實(shí)現(xiàn)矩陣轉(zhuǎn)置的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
Python 實(shí)現(xiàn)圖片色彩轉(zhuǎn)換案例
我們?cè)诳磩?dòng)漫、影視作品中,當(dāng)人物在回憶過(guò)程中,體現(xiàn)出來(lái)的畫(huà)面一般都是黑白或者褐色的。本文將提供將圖片色彩轉(zhuǎn)為黑白或者褐色風(fēng)格的案例詳解,感興趣的小伙伴可以了解一下。2021-11-11

