列表操作 -深拷贝与浅拷贝

Posted ying-chease

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表操作 -深拷贝与浅拷贝相关的知识,希望对你有一定的参考价值。

转自: https://blog.csdn.net/dengwubin450/article/details/57980514

1.浅拷贝(copy),深拷贝

1.1 浅拷贝

# coding:utf-8
# python3 -- list列表操作(拷贝copy)

# 注意文件命名方式:不能 与关键字copy等发生冲突

# 浅拷贝,只拷贝第一层,2层以上 都是拷贝元素的地址
list_names = ["he", "li", ["liu", "li"], "fu", "chen"]
list_names2 = list_names.copy()
list_names[3] = ""
print(list_names)
print(list_names2)

# 只是name,指向了list_names这个列表存储地址
name = list_names
print(name)
# 多维列表:,所以2层以后的元素,会跟着原来的列表改变
list_names[2][0] = ""
print(list_names)
print(list_names2)

2.深拷贝

# coding:utf-8
# python3 -- list列表操作(深拷贝copy)

import copy

# 深拷贝:拷贝的内容 不会随原列表list_names内容的更改而更改
list_names = ["he", "li", ["liu", "li"], "fu", "chen"]
list_names2 = copy.deepcopy(list_names)
list_names[3] = ""
print(list_names)
print(list_names2)

# 多维列表
list_names[2][0] = ""
print(list_names)
print(list_names2)
 

以上是关于列表操作 -深拷贝与浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章

列表元组操作

python列表操作大全

python之列表操作

Python学习——列表操作全透析

Python列表操作方法

(PHP)redis list(列表)操作