Pythonにおける要素とそのインデックスの取得
イテラブルオブジェクトからは、要素だけでなくそのインデックスも出力できます。これにはenumerate関数が使われます。そのパラメータに必要なイテラブルオブジェクトを指定します。
例
リストlstがあるとします:
lst = ['a', 'b', 'c']
ここから要素とそのインデックスを出力してみましょう。要素とインデックスのペアを、関数enumerateに渡されたオブジェクト内で探す変数itemとして表します:
for item in enumerate(lst):
print(item)
コードを実行すると、インデックスと要素からなるタプルが出力されます:
(0, 'a')
(1, 'b')
(2, 'c')
例
要素とそのインデックスを個別に取得するには、二つの変数keyとvalueを使ってアンパックできます:
for item in enumerate(lst):
key, value = item
print(key)
print(value)
print()
コードの実行結果:
0, 'a'
1, 'b'
2, 'c'
インデックスと要素は、forブロック内ですぐに書き換える短縮形もあります:
for key, value in enumerate(lst):
print(key)
print(value)
print()
実践的な課題
以下のリストが与えられます:
tst = [8, 6, -4, 2, -1]
最初の負の数が見つかるまでの要素の値とそのインデックスをコンソールに出力してください。
以下のリストが与えられます:
tst = ['a', 'b', 'c', 'd', 'e']
要素の値とそのインデックスを以下のようにコンソールに出力してください:
'a1'
'b2'
'c3'
'd4'
'e5'
以下のリストが与えられます:
tst = [1, 2, 3, 4, 5]
偶数インデックスにある要素は2乗し、奇数インデックスにある要素は3乗してください。