首頁 > 後端開發 > Python教學 > 如何建立 Python 清單的真正獨立副本?

如何建立 Python 清單的真正獨立副本?

DDD
發布: 2024-11-08 13:10:01
原創
903 人瀏覽過

How Do I Create a Truly Independent Copy of a Python List?

Python:深入研究複製清單

在 Python 中使用清單時,了解複製的操作方式至關重要。正如問題所強調的,看似獨立的副本可能會影響原始列表,導致意想不到的行為。

賦值的陷阱

問題的癥結在於Python的賦值語意。與 Java 等語言不同,Python 分配對變數的引用而不是實際值。在提供的範例中:

org_list = ['y', 'c', 'gdp', 'cap']
copy_list = org_list
登入後複製

copy_list 不包含自己的清單副本;相反,它指向與 org_list 相同的底層清單。對一個清單的任何修改都會反映在另一個清單中。

淺拷貝與深拷貝

為了創建真正獨立的副本,Python 提供了兩種方法:

  • 淺複製: 建立一個新列表,但淺複製原始列表的元素。複製清單的巢狀元素的任何變更仍會影響原始清單。範例:
copy_list = list(org_list)
copy_list[1] = 'a'
print(org_list)  # Output: ['y', 'a', 'gdp', 'cap']
登入後複製
  • 深層複製: 建立獨立於原始清單的新清單。複製清單或其巢狀元素的變更不會影響原始清單。範例:
import copy
copy_list = copy.deepcopy(org_list)
copy_list[1] = 'a'
print(org_list)  # Output: ['y', 'c', 'gdp', 'cap']
登入後複製

其他注意事項

對於pandas DataFrame,您可以使用copy() 或copy(deep=True) 方法來建立獨立的副本。但是,請注意,如果沒有必要,複雜物件的深度複製可能會耗費大量運算資源。

總之,理解 Python 中引用和副本之間的區別對於有效處理清單和複雜物件至關重要。透過適當利用淺複製或深複製,您可以確保資料的完整性並避免修改副本時出現意外後果。

以上是如何建立 Python 清單的真正獨立副本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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