1. 程式人生 > >列表操作 -深拷貝與淺拷貝

列表操作 -深拷貝與淺拷貝

col -c int 文件命名 odin ubi spa csdn 沖突

轉自: 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)
 

列表操作 -深拷貝與淺拷貝