ホームページ >バックエンド開発 >Python チュートリアル >事前定義された長さを持たずに Python で 2 次元配列を定義および初期化する方法は?

事前定義された長さを持たずに Python で 2 次元配列を定義および初期化する方法は?

DDD
DDDオリジナル
2024-12-13 20:48:35221ブラウズ

How to Define and Initialize a Two-Dimensional Array in Python Without Predefined Lengths?

長さを初期化せずに 2 次元配列を定義する

長さを指定せずに 2 次元配列を定義しようとすると、次のような問題が発生する可能性があります。 「IndexError: リストのインデックスが範囲外です。」これは、外部リストが初期化されていないために発生します。

これを解決するには、Python の「リスト内包表記」を使用して、まず空のリストで外部リストを初期化します。

w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 

これにより、「 を含むリストが作成されます」 "w" 項目の h" リスト。すべて 0 に初期化されます。

これで、配列に値を割り当てることができます。要素:

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。