Получаване на елементи и техните индекси в 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]

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