Sobes.tech
Junior
161

Miks kasutame funktsiooni enumerate() järjestuse läbimiseks?

Vastus AI-lt

sobes.tech AI

enumerate() funktsioon kasutatakse järjestuse (nimekiri, tulp, string jne) üle iteratsiooniks ning samal ajal tagastab nii praeguse elemendi indeksi kui ka iseenda. See on kasulik, kui on vaja töötada nii elemendi positsiooni kui ka selle väärtusega.

enumerate() kasutamise eelised:

  • Koodi loetavuse parandamine: Asendades otsese indeksi haldamise range() abil ja elementidele indeksi järgi juurdepääsu, muudab enumerate() koodi arusaadavamaks.
  • "off-by-one"-vea riski vähendamine: Indeksi otsene haldamine võib viia vigadeni, kui indeks ületab vahemiku. enumerate() seda võimalust väldib.
  • Tõhusus: Enamikel juhtudel on enumerate() tõhusam viis indeksi ja väärtuse saamiseks kui käsitsi indeksi haldamine.

Kasutusnäide:

# Selle asemel:
my_list = ['õun', 'banaan', 'kirss']
for i in range(len(my_list)):
    print(f"Indeks: {i}, Väärtus: {my_list[i]}")

# Kasutades enumerate:
my_list = ['õun', 'banaan', 'kirss']
for index, value in enumerate(my_list):
    print(f"Indeks: {index}, Väärtus: {value}")

Samuti saab määrata indeksi algusväärtuse:

my_list = ['õun', 'banaan', 'kirss']
for index, value in enumerate(my_list, start=1):  # Indeks algab 1-st
    print(f"Indeks: {index}, Väärtus: {value}")