Pobieranie elementów i ich indeksów w Pythonie

Z iterowalnego obiektu można wyprowadzić nie tylko elementy, ale także ich indeksy. W tym celu stosuje się funkcję enumerate. W jej parametrze wskazujemy żądany obiekt iterowalny.

Przykład

Załóżmy, że mamy listę lst:

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

Wyprowadźmy z niej elementy wraz z ich indeksami. Oznaczmy parę element-indeks jako zmienną item, którą będziemy szukać w obiekcie przekazanym funkcji enumerate:

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

Po wykonaniu kodu wypiszą się krotki zawierające indeks i element:

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

Przykład

Aby uzyskać osobno elementy i ich indeksy, można je rozpakować za pomocą dwóch zmiennych key i value:

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

Wynik wykonania kodu:

python0, 'a'

1, 'b'

2, 'c'

W skróconej formie indeksy i elementy można zapisać od razu w bloku for:

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

Zadania praktyczne

Задание 1

Dana jest lista:

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

Wypisz w konsoli wartości elementów i ich indeksy do pierwsziej liczby ujemnej.

Задание 2

Dana jest lista:

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

Wypisz w konsoli wartości elementów i ich indeksy:

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

Dana jest lista:

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

Elementy stojące na pozycjach parzystych podnieś do kwadratu, a na nieparzystych - do sześcianu.