長さを初期化せずに 2 次元配列を定義する
長さを初期化せずに 2 次元配列を定義するには、以下を行う必要があります。まず list を使用して外側のリストをリストで初期化します内包表記:
# Creates 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)]
外側のリストが初期化されると、個々の値を配列に追加できます:
# Adds 1 to the top-left corner of the array, and 3 to the bottom-right Matrix[0][0] = 1 Matrix[h - 1][0] = 3 # Error! Index out of range Matrix[0][w - 1] = 3
配列は "y" アドレス メジャーであることに注意してください。要素にアクセスするときは、「y インデックス」が「x インデックス」よりも前に来ます:
# Prints 1 from the top-left corner print(Matrix[0][0]) # Prints 3 from the bottom-right corner x, y = 0, w - 1 print(Matrix[x][y])
一方、内部リストと外部リストには名前を付けることができます。任意の場合、特に非正方配列を扱う場合、インデックス作成時の混乱を避けるために、別の名前を使用することをお勧めします。
以上が事前定義された次元を使用せずに Python で 2 次元配列を定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。