1. 深复制和浅复制
要获得列表的一份拷贝,可以直接赋值(=),也可以使用其自带的copy( )方法,但有其本质的不同的。可以通过下面的代码进行比较:

虽然来自于同一列表self_confident值的不同列表变量conf_equal和conf_copy,虽然两个变量的值都相同,但两个变量标签却指向不同的内存地址空间,对两个列表变量值的修改,其影响也必然不同。

如果是一个嵌套列表的复制又会产生怎样的效果呢?
如图所示是在“四个自信”列表的基础上再增加一个“五大发展理念”的嵌套列表的复制操作。

虽然用列表的copy( )方法生成了一份单独的拷贝,但因为self_confident列表中的“五大发展理念”是一个嵌套列表,copy( )方法并未为嵌套列表生成拷贝,所以self_confident和conf_copy共用了嵌套列表对象,这就是所谓的浅复制。
那怎样才能将二者彻底切割开呢?这里就需要引入Python自带的copy模块来实现所谓的深复制。
引入copy模块后,就可以利用其deepcopy( )方法对含有嵌套列表的列表进行深复制了,复制后的拷贝/conf_deep_copy列表将拥有独立的一份嵌套列表值。

2. 清空列表
清空一个列表,可以使用一个空列表([])直接进行初始化,也可以使用列表的clear( )内置方法,删除列表里的所有元素,相当于del a[ : ]。但二者的处理还是有所区别的。
