Python enumerate関数で2次元配列から要素とインデックスを取得する方法

プラグラミング言語「PYTHON」を使ってみよう!!

業務自動化・効率化の実例を踏まえ、解説できればと思っています。対象は、プログラムを学び始めた初心者向けとなります。

まくまく
まくまく
今回は、enumerate関数について解説します。enemurateとは「挙げる、列挙する」という意味であり、Pythonでは要素とインデックスを同時に取得できる関数として使用されています。頻繁に使用されるfor文との組み合わせで実際にプログラムを書いてみましょう。



enemurate関数の基本

l = ["a", "b", "c"]
for i, name in enumerate(l):
    print(i, name)

出力

0 a
1 b
2 c

a,b,cという名前が入った変数lの要素とインデックスを同時に取り出しました。

要素はfor文のnameに、インデックスはiに入ります。デフォルトではインデックスは0から始まります。

インデックスの数値を指定

l = ["a", "b", "c"]
for i, name in enumerate(l,start= 3):
    print(i, name)

出力

3 a
4 b
5 c

enumerateの引数にstart=3を加えることで、インデックスは3から始まるようになりました。

文字列意外でも使用可能

l = [10, 20, 30]
for i, number in enumerate(l):
    print(i, number)

出力

0 10
1 20
2 30

先ほどは、a,b,cという文字列でしたが、それを数値に変えています。

文字列の時と同様に要素とインデックスが取得できています。

二次元配列の要素とインデックスを取得

l = [[10, 20, 30],[40, 50, 60]]
for i, number in enumerate(l):
    print(i, number)

出力

0 [10, 20, 30]
1 [40, 50, 60]

二次元配列では行ごとに要素を取り出す事ができます。

二次元配列の要素とインデックスを取得

l = [[10, 20, 30],[40, 50, 60]]
for i, number in enumerate(l[0]):
    print(i, number)

出力

0 10
1 20
2 30

enumerate(l[0])とすることで、行の要素を取り出すことができました。

l = [[10, 20, 30],[40, 50, 60]]
for i, number in enumerate(l[1]):
    print(i, number)

出力

0 40
1 50
2 60

enumerate(l[1])とすることで、列の要素を取り出すことができました。

created by Rinker
翔泳社
タイトルとURLをコピーしました