首頁 > 後端開發 > Python教學 > 如何在Python中複製物件?

如何在Python中複製物件?

WBOY
發布: 2023-08-25 20:33:15
轉載
1417 人瀏覽過

如何在Python中複製物件?

在Python中,如果你想複製對象,賦值運算子將無法達到目的。它在目標和物件之間建立綁定,即它從不建立新物件。它僅創建一個共享原始物件引用的新變數。為了解決這個問題,提供了複製模組。此模組具有通用的淺複製和深複製操作。

淺拷貝

淺拷貝建構一個新的複合對象,然後將參考插入到原始對象。它使用以下方法複製物件

#
copy.copy(x)
Return a shallow copy of x.
登入後複製

深度複製

深拷貝建構一個新的複合對象,然後遞歸地將原始對像中的對象的副本插入其中。它使用以下方法複製物件  

copy.deepcopy(x[, memo])

Return a deep copy of x. Here, memo is a dictionary of objects already copied during the current copying pass;
登入後複製

使用深拷貝運算可能會出現下列問題 -

  • 遞迴可能會導致遞歸迴圈。

  • 由於深層複製會複製所有內容,因此可能會複製過多,例如要在副本之間共享的資料。

然而,deepcopy() 方法避免了這些問題。讓我們看看如何 −

  • 保留目前複製過程中已複製的物件的備忘錄字典

  • #允許使用者定義的類別覆寫複製操作或複製的元件集。

安裝和導入copy模組

要安裝複製模組,請使用pip −

#
pip install copy
登入後複製

在安裝後使用複製模組 −

import copy
登入後複製

複製物件使用淺拷貝

範例

我們將使用淺拷貝來複製物件。它創建一個新物件來儲存原始元素的參考。讓我們來看一個範例

import copy

# Create a List
myList = [[5, 10], [15, 20]]

# Display the list
print("List = ", myList)

# Shallow Copy
myList2 = copy.copy(myList)

# Display the copy of the List
print("New copy of the list =", myList2)
登入後複製

輸出

List =  [[5, 10], [15, 20]]
New copy of the list = [[5, 10], [15, 20]]
登入後複製

在上面的範例中,我們使用 copy() 方法淺複製了清單。

使用深拷貝複製物件

範例

我們將使用 deepcopy() 方法來深度複製物件。深複製也會建立一個新物件。讓我們來看一個範例

import copy

# Create a List
myList = [[5, 10], [15, 20]]

# Display the list
print("List = ", myList)

# Deep Copy
myList2 = copy.deepcopy(myList)

# Display the copy of the List
print("New copy of the list =", myList2)
登入後複製

輸出

List = [[5, 10], [15, 20]]
New copy of the list = [[5, 10], [15, 20]]
登入後複製

以上是如何在Python中複製物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板