本ページはプロモーションが含まれています
Python: 2次元配列の要素をfor文で取得する
Pythonで2次元配列(2次元リスト)の要素を、
for文を使って順番に取得する方法を紹介します。
配列の要素を順番に取得するためには、
行のループと列のループが必要となります。
使用する2次元配列のデータは次の通りです。
1列目 | 2列目 | |
---|---|---|
1行目 | a | あ |
2行目 | b | い |
3行目 | c | う |
要素の値だけを取得する場合
2次元配列の要素の値だけを取得する(インデックスは取得しない)場合、
次のようなコードになります。
最初のfor文で行をループさせ、
その中で2つ目のfor文を使って列をループさせます。
arr = [ ["a", "あ"], ["b", "い"], ["c", "う"]] # 要素値のみを取得する場合 for a in arr: # 行のループ for v in a: # 列のループ print(v)
実行結果
a あ b い c う
要素値とインデックスを取得する場合
要素値だけでなく、要素のインデックスも取得する場合は
for文の中でenumerate()関数を使用します。
enumerate()関数は配列(リスト)やタプルの
「インデックスと要素値のペア」を取得できる関数です。
(関連記事:
リストやタプルのインデックスと値の両方を順に取得 enumerate())
下のサンプルコードでは、 変数「i」が行のインデックス、 変数「k」が列のインデックス、 変数「v」が要素値となります。
arr = [ ["a", "あ"], ["b", "い"], ["c", "う"]] # enumerate()関数を使う for i, a in enumerate(arr): for k, v in enumerate(a): print(i, k, v)
実行結果
0 0 a 0 1 あ 1 0 b 1 1 い 2 0 c 2 1 う