列表的Copy
什么是列表的copy复制?
简单的说就是照抄上一个列表,然后修改置换等操作。
最简单的实例:
list1 = ['张三','李四','王五','赵六']
list2 = list1.copy()
print(list1)
print(list2)
修改list1的值list2不会发生改变
list1 = ['张三','李四','王五','赵六']
list2 = list1.copy()
# 把列表一的张三改成zhansan,发现list2的值不会改变
list1[0] = 'zhangsan'
print(list1)
print(list2)
输出:
['zhangsan', '李四', '王五', '赵六']
['张三', '李四', '王五', '赵六']
但是这种只是浅Copy,只会复制第一层,第二层或者更多层的数据同样会改变
比如说下面的代码:
# 浅Copy代码:
list1 = ['张三','李四',['王大','骚猪'],'王五','赵六']
list2 = list1.copy()
# 把列表一的张三改成zhansan,发现list2的值不会改变
list1[0] = 'zhangsan'
list1[2][0] = 'saozhu'
print(list1)
print(list2)
有浅copy那么肯定有深copy
而且,copy可以直接调用内置函数来进行调用
import copy
list1 = ['张三','李四',['王大','骚猪'],'王五','赵六']
# 同样的浅copy
list2 = copy.copy(list1)
# 下面的方法为深copy
list3 = copy.deepcopy(list1)
# list2[2][0] = 'sakkkkkkk'
list3[2][0] = 'wanhuasfquq'
print(list1)
print(list3)
列表的循环
name = ['张三','李四',['王大','骚猪'],'王五','赵六']
for i in name:
print(i)
正文结束