Python での 2 次元配列の定義
長さを初期化せずに 2 次元配列を定義しようとすると、IndexError が発生することがあります。構文のとおり:
Matrix = [][]
このエラーは、Python が必要とするために発生します。外側のリストは最初に内側のリストで初期化されます。 Python では、このプロセスを「リスト内包表記」と呼びます。次のコードに示されています。
# Create a list containing 5 lists, each of 8 items, all set to 0 w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
配列を初期化したら、それに項目を追加できます。例:
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! 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; be careful with indexing!
インデックス付けの潜在的な混乱を避けるために、特に非正方配列の場合は、内側のリストに「x」を使用し、外側のリストに「y」を使用することを検討してください。
以上がPython で 2 次元配列を適切に定義および初期化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。