Pythonのenumerate()
関数は、イテラブル(リストやタプルなど)をループする際に、各要素とそのインデックスを同時に取得するための便利な関数です。しかし、デフォルトではこのインデックスは0から始まります。これを変更する方法を見ていきましょう。
インデックスの開始番号を変更する
enumerate()
関数の第二引数に数値を指定することで、インデックスの開始番号を変更することができます。以下に例を示します。
pokemon_picture_book = ["フシギダネ", "フシギソウ", "フシギバナ", "ヒトカゲ"]
for number, name in enumerate(pokemon_picture_book, 1):
print(number, name)
# 1 フシギダネ
# 2 フシギソウ
# 3 フシギバナ
# 4 ヒトカゲ
この例では、enumerate()
関数の第二引数に1を指定しています。その結果、インデックスが1から始まるようになります。
インデックスを任意に変更する
さらに、インデックスを任意に変更することも可能です。以下に例を示します。
gosanke = ["フシギバナ", "リザードン", "カメックス"]
a = 3
for number, name in enumerate(gosanke, 1):
print(number * a, name)
# 3 フシギバナ
# 6 リザードン
# 9 カメックス
この例では、enumerate()
関数の第二引数に1を指定し、さらに取得したインデックスに3を掛けています。その結果、インデックスが3の倍数になるようになります。
以上が、Pythonのenumerate()
関数でインデックスを変更する方法です。この機能を活用することで、より柔軟なプログラミングが可能になります。