可变类型和不可变类型
- 可变类型:值可以修改,修改后对象内存地址不变。(字典、列表)
- 不可变类型:值不可以修改,只能整体赋值,相当于创建了一个新对象。赋值后对象会拥有新的内存地址。(数字、字符串:值相同则内存地址相同。元组:值相同,内存地址不同。)
- Tip:区别在于,对对象进行修改时,是否可以不改变对象的内存地址。
列表
-
创建、拼接列表
创:ls = list(元组类型)/ ls = […]
拼:ls =ls1 + ls2 / ls = ls1*重复次数 -
复制列表元素
Tip:Python中,赋值运算实际上是将两个变量指向同一个对象,而不是将一个变量的值赋给另一个变量,所以两个变量指向同一个对象时,通过其中一个变量对对象进行修改(不是赋值),也同时影响了另一个变量。复制可以使两个变量分别指向不同对象。法1:ls2 = ls1[:] 截取ls1生成新对象
问题:列表内存在可变类型元素时,复制前后该元素仍对应同一个对象。
解决(法2):ls2 = copy.deepcopy(ls1) -
列表元素的查找、插入、删除
查找:ls.index(x) 返回第