python列表之copy

列表copy存在深浅copy,在列表中存在二级列表时候,浅copy仅仅复制二级列表的地址,不复制其内部内容,若想复制其中内容则要使用深copy。

浅copy的三种方法:

c1 = copy.copy(names)
c2 = names[:]
c3 = list(copy)   #还没学,以后回会学

深copy:

# Author:yebo

import copy

names = ["imac",[ "iwatch", "iphone"]]

names_copy = copy.copy(names)   #浅copy
names_deepcopy = copy.deepcopy(names)   #深copy

names[1][1] = "iphoneX"   #更改第二层列表内容

print(names_copy)
print(names_deepcopy)
print(names)

对于浅copy的应用:

联合账号,即夫妻双方持有同一银行账号,其中一人变动则联合账号也会发生变动。

 1 # Author:yebo
 2 
 3 #应用浅copy特性创建联合账号
 4 
 5 person = ["name",["saving",0]]
 6 
 7 person1 = person[:]
 8 person2 = person[:]
 9 
10 person1[0] = "yebo"
11 person2[0] = "shuzzz"   #两个人持有一个共同账号
12 
13 person1[1][1] = 1000000   #其中一个账号发生变动
14 
15 print(person1)
16 print(person2)   #体现结果是两个人的存款都变动了

猜你喜欢

转载自www.cnblogs.com/SongjiangCyclone/p/9375463.html