-
>>> list7=list6[:]
-
>>> list7
-
[6, 5, 4, 3, 2, 1, 0]
-
>>> list8=list6
-
>>> list8
-
[6, 5, 4, 3, 2, 1, 0]
这样来看效果好像是一样的,但是利用列表的内置函数进行修改后就可以看到差别了
-
>>> list6.sort()
-
>>> list6
-
[0, 1, 2, 3, 4, 5, 6]
-
>>> list7
-
[6, 5, 4, 3, 2, 1, 0]
-
>>> list8
-
[0, 1, 2, 3, 4, 5, 6]
Python的变量就像一个标签,虽然你为原来的列表指定另一个名字,但就只是为他添加了一个指向它的标签而已,原来的内容还是不变的;而用分片的方式拷贝,它会从内存中按照原来的列表再拷贝一份列表,无论你原来的列表怎么变,这个拷贝都是不会变的;你可以用id函数查看一下,看完你就知道了
-
>>> id(list6)
-
35724184
-
>>> id (list8)
-
35724184
-
>>> id(list7)
-
35714272
阅读(849) | 评论(0) | 转发(0) |