Listeindeks ut av rekkevidden Python

Listeindeks ut av rekkevidden Python

I Python, Indekserror er en av de mest forekommende runtime -feilene. Feilen oppstår når du prøver å få en indeksverdi som ikke presenterer i en Python -liste. Noen ganger kan lite feilsøking løse indeksfeilen din. Det er to grunner bak forekomsten av denne feilen. Den første grunnen bak denne feilen er når du prøver å krysse gjennom en liste og ikke klarer å huske at listenes indekser starter fra null. For det andre, når du ikke bruker rekkevidden () -funksjonen til å krysse over en liste. I denne guiden vil vi snakke om denne feilen i detalj og foreslå måter å løse den på. Ved hjelp av eksempler diskuterer vi hvordan det fungerer.

Eksempel 1:

I dette eksemplet skriver vi ut alle elementene som er til stede i en liste som heter “Cars_name”Og sjekk hvordan" listeindeksen utenfor rekkevidden "oppstår. Vi gjør alt dette ved å bruke Spyder Compiler i Windows 10. Så bare starte Spyder IDE, opprette en ny fil fra filmenyen og behandle videre for programimplementering.

I programkoden vår erklærte vi og initialiserte vi først to variabler. Den første variabelen, “Cars_name”Lagrer listen over biler vi vil vise på konsollskjermen. “telle”Variabel brukes til å lagre hvor mange elementer vi har vist på skjermen.

Neste, vi bruker en stund loop. Mens sløyfe viser verdien fra "Cars_name”På indekspunktet lagret i“telle”. Denne sløyfen itererer til verdien av “telle”Tilfredsstiller den gitte tilstanden.

Cars_name = [“Honda”, “Civic”, “Corolla”]
Telling = 0
Mens du teller <= len(cars_name)
Print (Cars_Name [Count])
Telle += 1

Etter å ha lagret filen og spesifisert navnet, kjører vi programkoden for å sjekke feilen. Feilen er vist på skjermbildet nedenfor.

Alle elementene i listen vår vises på konsollskjermen, men en "Indeksfeil”Skjedde. Problemet oppstår fordi sløyfen kontinuerlig itererer til "telle”Verdien tilfredsstiller den gitte tilstanden. Det betyr at det sjekker sluttovergangsverdien for bilnavn [3], som ikke eksisterer. Dette genererer en Indekserror. For å løse dette problemet, kan vi endre operatøren vår fra “mindre enn lik" til "mindre enn”. Det sikrer at listen vår bare krysser til "telle”Tilfredsstiller den gitte nye tilstanden. La oss flytte og gjøre denne endringen:

Cars_name = [“Honda”, “Civic”, “Corolla”]
Telling = 0
Mens du teller < len(cars_name)
Print (Cars_Name [Count])
Telle += 1

Nå har vi fikset indekserror. Lagre og kjør filen og sjekk sløyfen vår utfører fint og prøver å vise bilnavn [3]. Det vellykkede resultatet kan sees nå.

Eksempel 2:

Når vi krysser over en liste og glemmer å legge til en rekkevidde () uttalelse. Hvis du henter verdier i denne listen, kan det være en mulighet for indekserror.

Student_rollno = [9, 10, 9]
For rollno i student_rollno:
Print (student_rollno [rollno])

I dette eksemplet skriver vi ut alle elementene som er til stede i “student_rollno”Array. Denne matrisen består av rull antall elever i en klasse. La oss kjøre koden vår ved hjelp av Spyder -kompilatoren og sjekke hva vi får. Igjen fikk vi en lignende feil.

En indekserror skjedde. La oss øke en utskriftsuttalelse for å se utdataene fra “student_rollno”.

Student_rollno = [9, 10, 9]
For rollno i student_rollno:
Print (Rollno)
Print (student_rollno [rollno])

Igjen, lagre koden ved å bruke “Ctrl+s”Og kjør programmet for å sjekke hva som skjedde videre:

Rollno”9 vises på konsollskjermen. Imidlertid "Rollno”Verdien er en reell verdi fra“student_rollno”. Men i programmet vårt prøver vi å hente en "Rollno”Etter indeksnummeret. For å løse dette problemet, kommer her en rekke () uttalelse for å krysse over listen over student_rollno. Range () -funksjonen oppretter en liste i en bestemt indeksrekkefølge.

Student_rollno = [9, 10, 9]
For Rollno i rekkevidde (0, Len (student_rollno)):
Print (student_rollno [rollno])

Igjen, utfør programmet og sjekk om det fikser feilen:

Konklusjon

I denne opplæringen diskuterte vi forekomsten av feilen “Listeindeks utenfor rekkevidden”Og måter å fikse det på. For å fikse feilen, prøv å ikke få tilgang til en verdi som ikke oppstår i en liste. Jeg håper nå at du enkelt kan løse denne feilen mens du sammenstiller kodene dine.