Pythonにおける要素とそのインデックスの取得

イテラブルオブジェクトからは、要素だけでなくそのインデックスも出力できます。これにはenumerate関数が使われます。そのパラメータに必要なイテラブルオブジェクトを指定します。

例

リストlstがあるとします:

pythonlst = ['a', 'b', 'c']

ここから要素とそのインデックスを出力してみましょう。要素とインデックスのペアを、関数enumerateに渡されたオブジェクト内で探す変数itemとして表します:

pythonfor item in enumerate(lst):
  print(item)

コードを実行すると、インデックスと要素からなるタプルが出力されます:

python(0, 'a')
(1, 'b')
(2, 'c')

例

要素とそのインデックスを個別に取得するには、二つの変数keyとvalueを使ってアンパックできます:

pythonfor item in enumerate(lst):
  key, value = item
  print(key)
  print(value)
  print()

コードの実行結果:

python0, 'a'

1, 'b'

2, 'c'

インデックスと要素は、forブロック内ですぐに書き換える短縮形もあります:

pythonfor key, value in enumerate(lst):
  print(key)
  print(value)
  print()

実践的な課題

Задание 1

以下のリストが与えられます:

pythontst = [8, 6, -4, 2, -1]

最初の負の数が見つかるまでの要素の値とそのインデックスをコンソールに出力してください。

Задание 2

以下のリストが与えられます:

pythontst = ['a', 'b', 'c', 'd', 'e']

要素の値とそのインデックスを以下のようにコンソールに出力してください:

python'a1'
'b2'
'c3'
'd4'
'e5'
Задание 3

以下のリストが与えられます:

pythontst = [1, 2, 3, 4, 5]

偶数インデックスにある要素は2乗し、奇数インデックスにある要素は3乗してください。