巢狀清單索引
在 Python中使用嵌套列表時,了解列表引用的概念及其如何影響列表索引非常重要.
列表引用
與許多按值傳遞變數的程式語言不同,Python 透過引用傳遞列表。這意味著將列表分配給另一個變數會建立對記憶體中相同基礎列表物件的參考。
嵌套列表索引
在提供的程式碼中,出現了問題來自列表乘法的使用。 some_list = 4 * [(4 * [0])] 行建立四個對相同清單物件的引用,這表示對其中一個子清單的變更將影響所有四個子清單。
預期結果
預期結果為:
[0, 0, 0, 0] [0, 1, 1, 1] [0, 1, 1, 1] [0, 1, 1, 1]
實際結果
實際結果[0, 1, 1, 1] [0, 1, 1, 1] [0, 1, 1, 1] [0, 1, 1, 1]
實際結果為:
解決方案some_list = [(4 * [0]) for _ in range(4)]要避免此問題,請使用循環建立嵌套列表,而不建立對相同列表的多個引用。修正後的程式碼是:此循環建立四個獨立的列表,每個列表有四個零,確保實現預期的行為。
以上是為什麼修改巢狀清單元素會影響 Python 中的所有子清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!