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:

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

Tuodaan siitä elementit niiden indekseineen. Merkitään elementti-indeksi-paria muttujalla item, jota haetaan enumerate- funktiolle annetusta oliosta:

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

Koodin suorituksen jälkeen tulostuvat tuplet indeksistä ja elementistä:

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

Esimerkki

Saadakseen elementit ja niiden indeksit erikseen, ne voidaan purkaa kahden muttujan key ja value avulla:

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

Koodin suorituksen tulos:

python0, 'a'

1, 'b'

2, 'c'

Lyhennetyssä muodossa indeksit ja elementit voidaan kirjoittaa suoraan for-lohkossa:

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

Käytännön tehtävät

Задание 1

Annettu lista:

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

Tulosta konsoliin elementtien arvot ja niiden indeksit ensimmäiseen negatiiviseen numeroon asti.

Задание 2

Annettu lista:

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

Tulosta konsoliin elementtien arvot ja niiden indeksit:

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

Annettu lista:

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

Elementit, jotka ovat parillisissa positioissa, korota neliöön, ja parittomissa - kuutioon.