首頁 >後端開發 >Python教學 >為什麼 Python 清單副本的變更會影響原始清單?

為什麼 Python 清單副本的變更會影響原始清單?

Susan Sarandon
Susan Sarandon原創
2024-11-08 20:19:02386瀏覽

Why Do Changes to a Python List Copy Affect the Original List?

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中文網其他相關文章!

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