python裏面的淺copy的方式和作用
阿新 • • 發佈:2017-10-29
bsp 結果 人的 font mil nbsp print () 方式
python的淺copy有以下四種方式
------code------
person = ["name",["money","10000"]]
#type1
p1 = person[:]
#type2
p2 = person.copy()
#type3
p3 = list(person)
#type4,這種方式等同與第2種,只是引用了標準庫copy
import copy
p4 = copy.copy(person)
#修改個別屬性
print(p1)
print(p2)
p1[0] = "jack"
p2[0] = "lucy"
print(p1)
print(p2)
p1[1][1] = "500"
print(p1)
print(p2)
------用處------
以上代碼執行結果
[‘name‘, [‘money‘, 1000]]
[‘name‘, [‘money‘, 1000]]
[‘jack‘, [‘money‘, 1000]]
[‘lucy‘, [‘money‘, 1000]]
[‘jack‘, [‘money‘, ‘500‘]]
[‘lucy‘, [‘money‘, ‘500‘]]
這樣淺copy的目的就是像有些獨有的屬性,比如名字,我們可以修改,而不影響另一個。
但是像兩個人共有的屬性, 比如夫妻兩人共有的財產,這樣的問題, 那麽當丈夫花掉500元的時候,夫妻兩人的共有財產是都會減去500的。
python裏面的淺copy的方式和作用