Python:了解引用複製
在Python 中建立清單的副本時,可能會令人驚訝地發現對複製也會影響原始列表。這是因為 Python 使用引用複製,它會建立對原始清單的引用而不是單獨的實例。
為了說明這一點,讓我們考慮以下程式碼:
org_list = ['y', 'c', 'gdp', 'cap'] copy_list = org_list copy_list.append('hum') print(copy_list) print(org_list)
此程式碼將輸出:
['y', 'c', 'gdp', 'cap', 'hum'] ['y', 'c', 'gdp', 'cap', 'hum']
我們可以看到,原來的清單org_list在copy_list追加操作後被修改了。這是因為 copy_list 不是一個單獨的實例,而是對 org_list 的參考。
要建立原始列表的獨立副本,我們可以使用切片運算子:
copy_list = org_list[:]
這會建立一個新列表,它是 org_list 的副本。對 copy_list 所做的更改將不再影響 org_list。這種方法也可以用來複製其他類型的變量,例如 Pandas DataFrame。
以上是為什麼 Python 清單副本的變更會影響原始清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!