首頁  >  文章  >  後端開發  >  為什麼 Python 中 `list_arg = list(a)` 不修改 `function1` 中的原始清單?

為什麼 Python 中 `list_arg = list(a)` 不修改 `function1` 中的原始清單?

DDD
DDD原創
2024-10-28 21:19:02132瀏覽

Why does `list_arg = list(a)` not modify the original list in `function1` in Python?

在Python 中將清單修改為函數參數

考慮以下程式碼:

此程式碼此列表作為參數傳遞給function1。然而,如果我們在呼叫 function1 後列印列表,我們會發現它保持不變,儘管在函數內進行了賦值。這是因為函數內將新清單指派給 list_arg 會破壞對原始清單的參考。

要就地修改列表的元素,我們可以使用賦值切片:

此行將從a 創建的新列表的元素分配給list_arg 的切片,該切片從開頭開始一直到結尾。這有效地將 list_arg 的元素替換為 a 的元素。

注意:

就地列表修改可能會令人困惑。通常首選建立一個具有所需修改的新清單並將其指派給參數變量,因為這可以保留原始清單和修改後的清單之間的清晰分離。

以上是為什麼 Python 中 `list_arg = list(a)` 不修改 `function1` 中的原始清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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