This article mainly provides an in-depth analysis of the three methods of deep and shallow copying of python3 lists. It has certain reference value. Interested friends can refer to it
# Auther: Aaron Fan names = ["aaron", "alex", "james", "meihengfan"] #复制一份列表 #浅复制 (注意,这只是一个浅复制,只能复制第一层列表里面的东西,如果列表里面还有一层列表,那么那一层的列表只是把物理地址指向过去了,但是并没有复制过来) #在day2第9个视频,有详细讲这个浅复制的作用,这里不再详细注释 person = ["name", ["saving", 100]] ''' 浅复制的方法有3种: p1 = person.copy() p1 = person[:] p1 = list(person) ''' p1 = person[:] p2 = person[:] print(p1) print(p2) p1[0] = "alex" p2[0] = "fengjie" print(p1) print(p2) #注意第二层列别中的值同时变了,这里联合账号来理解浅复制的作用 p1[1][1] = 50 print(p1) print(p2) #深复制(这种复制属于完完全全的复制,可以把列表里面的列表也复制过来,而不是仅仅只是指向一个地址过去) import copy names2 = copy.deepcopy(names)
The above is the detailed content of Three methods for deep and shallow copying of python3 lists. For more information, please follow other related articles on the PHP Chinese website!