Elementtien ja niiden indeksien hakeminen Pythonissa
Iteroitavasta oliosta voidaan tulostaa ei
vain elementtejä, vaan myös niiden indeksit. Tätä varten
käytetään enumerate-funktiota. Sen
parametriin määritellään haluttu iterioituva
olio.
Esimerkki
Olkoon meillä lista lst:
lst = ['a', 'b', 'c']
Tuodaan siitä elementit niiden
indekseineen. Merkitään elementti-indeksi-paria
muttujalla item, jota
haetaan enumerate-
funktiolle annetusta oliosta:
for item in enumerate(lst):
print(item)
Koodin suorituksen jälkeen tulostuvat tuplet indeksistä ja elementistä:
(0, 'a')
(1, 'b')
(2, 'c')
Esimerkki
Saadakseen elementit ja niiden indeksit erikseen,
ne voidaan purkaa kahden
muttujan key ja value avulla:
for item in enumerate(lst):
key, value = item
print(key)
print(value)
print()
Koodin suorituksen tulos:
0, 'a'
1, 'b'
2, 'c'
Lyhennetyssä muodossa indeksit ja elementit
voidaan kirjoittaa suoraan for-lohkossa:
for key, value in enumerate(lst):
print(key)
print(value)
print()
Käytännön tehtävät
Annettu lista:
tst = [8, 6, -4, 2, -1]
Tulosta konsoliin elementtien arvot ja niiden indeksit ensimmäiseen negatiiviseen numeroon asti.
Annettu lista:
tst = ['a', 'b', 'c', 'd', 'e']
Tulosta konsoliin elementtien arvot ja niiden indeksit:
'a1'
'b2'
'c3'
'd4'
'e5'
Annettu lista:
tst = [1, 2, 3, 4, 5]
Elementit, jotka ovat parillisissa positioissa, korota neliöön, ja parittomissa - kuutioon.