Python基礎(列表中變量與內存關系)


在Python中,copy的是內存地址,引用的是列表的引用地址,列表里存的是各個元素的地址

例如:

name = [1,2,3,4,['xfxing','summer',6]]
n2 = name.copy()
name[1] = -2
name[4][0] = "shell"
name[4][2] =-6
print(name)
print(n2)
View Code

 

結果為:

name = [1,2,3,4,['xfxing','summer',6]]

n2 = name.copy() copy的是name中列表的內存地址
name[1] = -2 內存里開辟一個新空間給-2
name[4][0] = "shell" 列表里開辟一個新的空間存放shell,並把它給到name[4][0]
name[4][2] =-6 列表里開辟一個新的空間存放-6,並把它給到name[4][1]
print(name)
print(n2) 2不會被垃圾回收器回收,n2中copy的內存地址會繼續使用

通過id()可以查看它們的內存地址


列表中的元素地址沒變,列表中的內存地址也不會發生改變

(如 id(name[3] id(n2[3]))

列表中的元素地址發生改變,列表的內存地址也將改變

(如 id(name[1] id(n2[1]))


免責聲明!

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



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