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

如何在Python中複製物件?

WBOY
WBOY轉載
2023-08-25 20:33:151406瀏覽

如何在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刪除