python中數組(list/array)不會復制,而是直接引用


對於單個變量,如:

將數據直接賦值進行復制后,變量前后獨立,是位於兩塊空間內的。

但對於數組(list 或 numpy.array):

相當於引用,是位於同一塊空間內的

復制list的五種方法:

1. a[:]

2. list(a)

3. a*1

4. copy.copy(a)

5. copy.deepcopy(a)

從以上可以看出,使用 a[:], list(a), a*1, copy.copy(a)四種方式復制列表結果都可以得到一個新的列表,但是如果列表中含有列表,所有b, c, d, e四個新列表的子列表都是指引到同一個對象上。只有使用copy.deepcopy(a)方法得到的新列表f才是包括子列表在內的完全復制。

 

 

參考:

https://www.cnblogs.com/ifantastic/p/3811145.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM