巢狀清單索引
在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中文網其他相關文章!