python中的複製copy模組怎麼使用?

starkbl發表於2021-09-11

python中的複製copy模組怎麼使用?

許多人都見過這樣一個遊戲,讓10個人透過耳邊的悄悄話逐個傳遞一個資訊,我們會發現在傳遞的過程中資訊不斷被修改,到了最後已經面目全非。今天小編就向大家介紹在python中的複製模組copy模組,它既可以僅複製物件本身,又可以全部複製,下面我們來看看它是怎麼複製的吧。

1、淺複製
copy 複製0及1級記憶體區

import copy
list1 = [1,2,[3,4]]
print(list1)
list2 = copy.copy(list1)
print(list2)
# list1.append(5)
# print(list1,list2)
list1[2].append(3.5)
print(list1,list2)

2、深複製 
deepcopy 複製每級記憶體區

import copy
list1 = [1,2,[3,4]]
print(list1)
list2 = copy.deepcopy(list1)
print(list2)
# list1.append(5)
# print(list1,list2)
list1[2].append(3.5)
print(list1,list2)

以上就是用copy模組複製的方法,需要注意的是copy僅複製物件本身,而不對中的子物件進行複製,故對子物件進行修改也會隨著修改。而deepcopy是真正意義上的複製,我們經常說的複製實際上就是deepcopy。大家可以根據自己的需求選擇不用的方法。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3705/viewspace-2831808/,如需轉載,請註明出處,否則將追究法律責任。

相關文章