在Python 中定義不含初始化長度的二維數組
當嘗試在Python 中定義不指定長度的二維數組時,例如:
Matrix = [][]
你可能會遇到「IndexError: list index out of range” 錯誤。要解決此問題,有必要在添加任何項目之前用空列表初始化外部列表。為此,Python 使用了一種稱為列表理解的技術。
考慮以下程式碼:
w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
這裡,我們建立了一個由 5 個列表組成的列表,每個列表包含 8 個零。現在,您可以向此陣列新增項目:
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! out of range Matrix[0][6] = 3 # valid
請注意,該矩陣是「y」位址主要,這表示「y 索引」位於「x 索引」之前。例如:
print Matrix[0][0] # prints 1 x, y = 0, 6 print Matrix[x][y] # prints 3
處理非方陣時,請務必小心索引並避免對內部和外部清單使用相同的變數名稱(例如“x”)。
以上是如何在Python中正確初始化並使用沒有預先定義維度的二維陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!