1.python中列表list的拷貝,會有什么需要注意的呢?

python變量名相當于標簽名。
list2=list1 ,直接賦值,實質上指向的是同一個內存值。任意一個變量list1(或list2)發生改變,都會影響另一個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是通過切片對list1的復制操作,分別指向了新的值。任意改變list3或list4的值,不會影響其他。
2.要使用ndarray類型的數組,需要from numpy import* 引用工具包numpy。
而對ndarray類型的數據進行拷貝時,跟list類型有一點區別。

數組切片是原始數組的視圖,這意味著數據不會被復制,視圖上的任何修改都會被直接反映到源數組上.
array1,array2,array3,array4實際指向同一個內存值,任意修改其中的一個變量,其他變量值都會被修改。
若想要得到的是ndarray切片的一份副本而非視圖,就需要顯式的進行復制操作函數copy()。
eg:
array5=array1.copy() #對原始的array1的復制array6=array1[1:4].copy() #對切片array1[1:4]的復制
那么,修改array5或array6,就不會影響array1。
以上這篇對python中list的拷貝與numpy的array的拷貝詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答