1、概述
1.1 场景
很多资料都有关于 Python 列表操作的详细解释,均可参考。
我写这篇文章,主要是归纳总结
常用的列表操作及容易出现问题的点
,提醒自己。
1.2 思维导图
2、方法
2.1 copy() 与 = 区别
实际应用中,如果 list 复制使用了 “=” ,极有可能产生别的 list “莫名其妙” 被改变的错误。
- 列表 list 是不可变数据类型
- copy():值相同的不同对象,对象之间的值
不会
相互影响 - = :指向同一个对象,对象之前的
会
相互影响
>>> list = [1, 2]
>>> id(list)
2253889885192
>>> list1 = list
>>> list2 = list1.copy()
>>> id(list1) # 指向同一个对象,内存地址相同
2253889885192
>>> id(list2) # 值相同的不同对象,内存地址不同
2253892764872
>>> list1
[1, 2]
>>> list2
[1, 2]
>>>
>>> list[1] = 3
>>> list
[1, 3]
>>> list1 # =, 值相互影响
[1, 3]
>>> list2 # copy() 值相互独立
[1, 2]