Part 1:
写代码,看参考书,补知识,然后看练习题讲解,3个小时:
Part 2:
列表深浅copy:
names = ['alex', 'jack', 'nick', 'joanna', 'shanshan']
n1 = names
当 names[0] = 'Alex'时,n1也会改变,这与变量 a=2, b=a, a=3, b=2不同,
列表相当于一个杯子,当你改变杯中的东西的时候,另一个杯子里的东西也会改变
当使用n2 = names.copy()时,这时候列表中的浅层元素,即非列表元素,就变成独立的了,
当 names[1] = 'Jack'时,n2中的n2[1]还是'jack',并没有改变,已经独立了,但是仅仅是浅层独立,这种copy叫浅copy,如果列表names中有列表元素的话,这个浅copy就不会使其中的列表元素独立,
如 names = ['jack', ['Longting', 123]], n3 = names.copy()
当令 names[1] = 'Jack'时,n3还是'jack',但是当names[2][0] = '龙婷'时,n3[2][0]也变成了'龙婷',等于说虽然使用了names.copy()命令,但是只是独立复制了浅层的元素,深层的列表的元素并没有独立,
如果一定要全部独立,要import copy,然后 n4 = copy.deepcopy(names),这样的copy叫深copy,就是真正全部元素独立了。但是占用的存储空间就瞬间翻倍。因此平时不建议使用。