在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)
結果為:
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]))