python複製 筆記

2022-07-22 17:36:14 字數 1445 閱讀 2328

物件引用:

>>> songs = ["bee","core","love"]

>>> bat = songs

>>> songs, bat

(['bee', 'core', 'love'], ['bee', 'core', 'love'])

對複製列表進行改變

>>> bat[2] = "here"

>>> songs,bat

(['bee', 'core', 'here'], ['bee', 'core', 'here'])

當我們需要單獨副本時,則需要的不再僅僅是乙個物件引用

>>> songs = ["bee","core","love"]

>>> bat = songs[:]

>>> bat[2] = "here"

>>> songs,bat

(['bee', 'core', 'love'], ['bee', 'core', 'here'])

對字典與集合,這種複製操作使用dict.copy()set.copy()來實現。

複製的另一種方法:型別名作為函式,待複製的組合資料型別作為引數

>>> copy_of_dict_d = dict(d)

>>> copy_of_list_l = list(l)

>>> copy_of_set_s = set(s)

上述的複製都是淺拷貝,如果要實現深拷貝,使用copy模組

>>> x=[53,48,["

a","

b","c"

]]>>> y=x[:]

>>>x,y

([53, 48, ['

a', '

b', '

c']], [53, 48, ['

a', '

b', 'c'

]])>>> y[1]=20

>>> x[2][0]="f"

>>>x,y

([53, 48, ['

f', '

b', '

c']], [53, 20, ['

f', '

b', '

c']])

深拷貝,使用copy.deepcopy方法

>>> import copy

>>> x=[53,48,["a","b","c"]]

>>> y = copy.deepcopy(x)

>>> y[1]=20

>>> x[2][0]="f"

>>> x,y

([53, 48, ['f', 'b', 'c']], [53, 20, ['a', 'b', 'c']])

python筆記005 切片 複製 元組

指定索引 0 3 則輸出列表中0 1 2的元素 指定索引 1 3 則輸出列表中1 2的元素 指定索引 3 則輸出列表中0 1 2的元素 指定索引 2 則輸出列表中2到最後的元素 指定索引 3 則輸出列表中倒數3到最後的元素 eg1 輸入 bicycles title cannondale redli...

python 複製列表內容 Python 複製列表

python 複製列表 定義乙個列表,並將該列表元素複製到另外乙個列表上。def clone test li1 li copy li1 return li copy li1 4,8,2,10,15,18 li2 clone test li1 print 原始列表 li1 print 複製後列表 li...

python 深複製和淺複製

l1 1,2,3 4,5 l2 list l1 l1 1,2,3 4,5 99 l2 1,2,3 4,5 l1 1 remove 2 l1 1,3 4,5 99 l2 1,3 4,5 l2 1 11,12 l2 2 10,11 l1 1,3,11,12 4,5 99 l2 1,3,11,12 4,5...