按理說copy是淺拷貝,只是復制了指針引用, 而深拷貝會重新創建一個新對象,然后復制對象數據內容。 但是下面的代碼證明我上面的理解是錯誤的: import copy
a = [8,9]
b = copy.copy(a)
c= a[:]print "before\t",a,b,c
b[1] = 8print "changed\t",a,b,c上面將輸出: before [8, 9] [8, 9] [8, 9]
changed [8, 9] [8, 8] [8, 9]也就是說修改b中的值,不會影響到a和c 如果把copy換成deepcopy結果完全一致,為什么呢?
請教python中的copy和deepcopy的問題
慕村225694
2018-07-16 15:13:08