Python:5.列表的内置方法(copy和循环)

2020-02-26
274次阅读
没有评论

列表的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)

 

正文结束
居烽
版权声明:本站原创文章,由 居烽 于2020-02-26发表,共计807字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码