Python初心者講座(enumerate関数を使ってみよう)

Python初心者講座(enumerate関数を使ってみよう)

Python初心者向け、enumerate関数の使い方




リスト要素の取得でインデックスも欲しいときに便利な、enumerate関数のキホン的な使い方

ナノネ、今回はPythonの組み関数『enumerate』のキホン的な使い方を学ぼう。

enumerate関数?スペルを間違えた記憶しかないけど、どんなときに使うんだっけ?

enumerate関数は、forループ処理でリストなどから順番に要素を取り出すときに使うよ。要素の内容と合わせてインデックスの値も取得できるんだ。

たとえば、普通にforループでリスト要素を出力するときは、こんな感じのコードを書くよね。

In [1]:
my_list = ['A', 'B', 'C', 'D', 'E']
for item in my_list:
  print(item)
A
B
C
D
E

これにenumerate関数を組み合わせると、インデックスの情報も同時に取得できるよ。

In [2]:
my_list = ['A', 'B', 'C', 'D', 'E']
for i, item in enumerate(my_list):
  print(i, item)
0 A
1 B
2 C
3 D
4 E

変数はインデックス、要素の内容という順番で受け取ればいいんだね。

うん、返り値はタプルになっているから、変数を順番に並べておけば直接代入できるんだよ。

In [3]:
my_list = ['A', 'B', 'C', 'D', 'E']
for t in enumerate(my_list):
  print(t)
(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')
In [4]:
t = (0, 'A')
print(type(t))
i, item = t
print(i, item)
<class 'tuple'>
0 A

enumerate関数の使い方は少し分かったけど...これでもいいんじゃない?

In [5]:
my_list = ['A', 'B', 'C', 'D', 'E']
i = 0
for item in my_list:
  print(i, item)
  i += 1
0 A
1 B
2 C
3 D
4 E

うん、出力結果を同じだね。お好みだけど、enumerate関数を利用した方がPythonっぽい?スッキリしたコードが書けるかも。

コードが読めるように、少なくとも使い方は覚えておいたほうがいいよ。enumerate関数はよく利用されるから。

ラジャー!

あと補足的な情報だけど、インデックスの開始値は引数で指定することができるよ。1から始めたい場合は、こんな感じで。

In [6]:
my_list = ['A', 'B', 'C', 'D', 'E']
for i, item in enumerate(my_list, 1):
  print(i, item)
1 A
2 B
3 C
4 D
5 E

今回のenumerate関数の練習は以上で。またね。

お疲れさまでした。またね!



スポンサーリンク

0 件のコメント :

コメントを投稿