Day 10 20190125 老男孩python学习第10天 内容整理

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不同,

扫描二维码关注公众号,回复: 5068960 查看本文章

列表相当于一个杯子,当你改变杯中的东西的时候,另一个杯子里的东西也会改变

当使用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,就是真正全部元素独立了。但是占用的存储空间就瞬间翻倍。因此平时不建议使用。

猜你喜欢

转载自www.cnblogs.com/Jack1314/p/10317999.html