[解決済み] 2次元配列の定義方法は?
2022-03-21 18:08:56
質問
このように長さを初期化しない2次元配列を定義したい。
Matrix = [][]
が、うまくいかない...。
下のコードも試してみましたが、これも間違っています。
Matrix = [5][5]
エラーです。
Traceback ...
IndexError: list index out of range
私の間違いは何ですか?
どうすればいいですか?
技術的には、初期化されていない配列のインデックスを作成しようとしていることになります。項目を追加する前に、まずリストで外側のリストを初期化する必要があります; Pythonはこれをこう呼びます。 リスト内包"。
# 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)]
#これでリストに項目を追加することができます。
Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range...
Matrix[0][6] = 3 # valid
この行列は、quot;y" アドレスメジャー、つまり、quot;y インデックス" が "x インデックス" よりも前にあることに注意してください。
print Matrix[0][0] # prints 1
x, y = 0, 6
print Matrix[x][y] # prints 3; be careful with indexing!
名前付けは自由ですが、内側と外側のリストで "x" を使い、正方形でない Matrix が必要な場合、インデックス付けに伴う混乱を避けるためにこの方法をとりました。
関連
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] PHPのエラーを表示させるにはどうしたらいいですか?
-
[解決済み] 2次元アレイにおけるピーク検出
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
PicgoのイメージベッドツールをPythonで実装する
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない