為什麼修改 Python 變數的副本會改變原始變數?

Patricia Arquette
發布: 2024-11-08 17:33:02
原創
655 人瀏覽過

Why Does Modifying a Copy of a Python Variable Change the Original?

Python:修改副本會影響原始變數

問:當建立和修改變數的副本時,為什麼原始變數也會改變?

答:在Python中,變數是物件的引用,而不是物件本身。將一個變數指派給另一個變數會建立一個指向相同物件的新引用。因此,當您修改副本時,您實際上是在更改原始物件。

例如,考慮以下程式碼:

org_list = ['y', 'c', 'gdp', 'cap']
copy_list = org_list

copy_list.append('hum')
登入後複製

這會將 'hum' 附加到 copy_list,因為它引用與 org_list 相同的列表,org_list 也會發生變化。

要建立獨立副本,請使用切片:

copy_list = org_list[:]
登入後複製

這裡,切片運算子 ([:]) 建立了一個新副本名單。現在,您可以修改copy_list而不影響org_list。此方法可以應用於其他變數類型,例如 pandas 資料框。

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

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