Получение элементов и их индексов в Python

Из итерируемого объекта можно вывести не только элементы, но и их индексы. Для этого применяется функция enumerate. В ее параметре указываем нужный итерируемый объект.

Пример

Пусть у нас есть список lst:

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

Давайте выведем из него элементы с их индексами. Обозначим пару элемент-индекс в виде переменной item, которую будем искать в переданном функции enumerate объекте:

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]

Элементы, стоящие на четных позициях возведите в квадрат, а нечетных - в куб.