首頁 >後端開發 >Python教學 >為什麼修改 Python 字典副本也會改變原始字典?

為什麼修改 Python 字典副本也會改變原始字典?

DDD
DDD原創
2024-12-23 09:04:34434瀏覽

Why Does Modifying a Python Dictionary Copy Also Change the Original?

理解 Python 中的字典複製

在 Python 中,在複製值時操作字典可能會令人困惑。本文解決了修改字典副本卻發現原始字典也已更改時遇到的常見問題。

要理解此行為,至關重要的是要了解 Python 不執行隱式物件複製。當你指派 dict2 = dict1 時,你並不是在創造一個新的字典物件;而是在創造一個新的字典物件。您只是建立另一個對同一現有字典的引用。因此,對 dict2 所做的任何更改都會直接影響 dict1,因為它們都引用相同的底層資料結構。

為了避免這種行為並真正複製字典,您必須明確建立一個新的字典物件。有兩種方法可以實現此目的:

  • 使用 dict(): dict()建構子採用現有字典作為其參數,並傳回一個新的字典對象,其中包含所有字典的副本鍵值對

範例:

dict2 = dict(dict1)
  • 使用copy(): 字典的copy()方法使用表面副本建立一個新的字典物件

範例:

dict2 = dict1.copy()

透過使用這些技術,您可以確保對dict2 所做的修改不會影響原始dict1,從而允許您在操作其複製版本時保留原始字典的狀態。

以上是為什麼修改 Python 字典副本也會改變原始字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn