在Python 中高效複製嵌套列表
在Python 中,由於其可變性質,複製嵌套列表可能會很棘手。如果採用淺複製技術,修改一個清單將影響原始清單。為了克服這個限制,必須了解 Python 中清單複製的細微差別,並選擇確保複製清單獨立性的方法。
考慮一維列表的範例:
a = [1, 2] b = a[:]
在這種情況下,淺複製就足夠了,因為修改 b 不會影響 a。但是,在處理 2D 或巢狀清單時,相同的方法會失敗:
a = [[1, 2], [3, 4]] b = a[:]
在這種情況下修改 b 也會影響 a。要建立嵌套清單的真正獨立副本,必須深入研究更深層的複製。
解決方案:使用copy.deepcopy() 進行深度複製
Python 的副本模組透過其deepcopy() 函數為深度複製嵌套列表提供了一個強大複製嵌套列表提供了一個強大的解決方案。與淺複製不同,此函數遞歸地迭代嵌套結構,在每個層級建立獨立的副本:
import copy b = copy.deepcopy(a)
使用 deepcopy() 時,修改 b 不會影響原始清單 a。這種技術確保了兩個清單是分開的並且可以獨立操作,解決了巢狀清單修改的問題。
以上是如何在Python中高效複製嵌套列表而不影響原始列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!