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:
lst = ['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:
for item in enumerate(lst):
print(item)
Po wykonaniu kodu wypiszą się krotki zawierające indeks i element:
(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:
for item in enumerate(lst):
key, value = item
print(key)
print(value)
print()
Wynik wykonania kodu:
0, 'a'
1, 'b'
2, 'c'
W skróconej formie indeksy i elementy
można zapisać od razu w bloku for:
for key, value in enumerate(lst):
print(key)
print(value)
print()
Zadania praktyczne
Dana jest lista:
tst = [8, 6, -4, 2, -1]
Wypisz w konsoli wartości elementów i ich indeksy do pierwsziej liczby ujemnej.
Dana jest lista:
tst = ['a', 'b', 'c', 'd', 'e']
Wypisz w konsoli wartości elementów i ich indeksy:
'a1'
'b2'
'c3'
'd4'
'e5'
Dana jest lista:
tst = [1, 2, 3, 4, 5]
Elementy stojące na pozycjach parzystych podnieś do kwadratu, a na nieparzystych - do sześcianu.