Indekserror liste tildelingsindeks utenfor rekkevidde løst

Indekserror liste tildelingsindeks utenfor rekkevidde løst
Mens vi jobber med Python, kan vi møte et enormt antall feil i konsollen. En av disse feilene er “IndexError: List Assignment Index Outside of Range.”Denne feilen oppstår når en bruker prøver å sette inn en verdi i en liste i en indeks eller få tilgang til en verdi fra en indeks utenfor listens spesifiserte størrelsesområde. Derfor vil vi gi noen eksempler for å se hvordan denne feilen oppstår i Python og hvordan vi skal løse den. Vi har brukt Spyder3 Python -verktøyet i vårt Windows 10 -miljø. Så la oss jobbe med det ytterligere med implementeringen av følgende illustrasjoner:

Eksempel 01

Vi har laget vårt første eksempel ved å initialisere to lister, i.e., L1 og L2. Listen L1 inneholder fem elementer av strengtype i den, mens listen L2 opprinnelig er tom. Deretter har vi initialisert en "for" -sløyfe. Således tar rekkevidden til en liste L1 fra 0 til lengden på listen L1. "IF" -uttalelsen har blitt brukt videre for å sjekke en streng i en liste L1. Vi har brukt strengen "Navn" for å sjekke om det allerede er i listen L1 eller ikke. Hvis tilstanden har blitt tilfredsstilt, vil verdien på den spesifikke indeksen der verdien som matches, lagres i listen L2 på samme indeks. Siden vi ikke har initialisert størrelsen på listen L2, vil den kaste et unntak. Etter "for" -sløyfen har begge listene blitt skrevet ut:

  • L1 = [“Hei”, “My”, “Name”, “Is”, “Linux”]
  • L2 = []
  • for n i rekkevidde (0, len (L1)):
  • Hvis "navn" i L1 [n]:
  • L2 [n] = l1 [n]
  • Print (L1)
  • trykk (L2)

Når vi kjører koden ved å bruke "Kjør" -knappen fra Spyder3 -menylinjen, kaster den et unntak, i.e., Indekserror: Listeoppdragsindeks utenfor rekkevidde som vist i det vedlagte øyeblikksbildet:

Denne feilen kan fikses ved å bruke append () -funksjonen i programmet. Den eneste endringen er å bruke vedleggsmetoden innenfor "hvis" -erklæringen til "for" -løkken for å legge til verdien til en bestemt indeks for liste L2 på listen L2s indeks:

  • L1 = [“Hei”, “My”, “Name”, “Is”, “Linux”]
  • L2 = []
  • for n i rekkevidde (0, len (L1)):
  • Hvis "navn" i L1 [n]:
  • L2.vedlegg (L1 [n])
  • Print (L1)
  • trykk (L2)

La oss kjøre koden igjen for å se om koden fungerer nå. Koden blir vellykket denne gangen, og vi har listen L1 og L2 separat som en utgang som vist i det vedlagte øyeblikksbildet:

Eksempel 02

I dette eksemplet vil vi bruke en enkel tom liste for å legge til en viss verdi til den. I kontrast ville logikken ikke bli definert riktig. Så vi har initialisert en tom liste “L”. "For" -sløyfen har blitt brukt med iteratoren "I" i listen "L" fra området 1 til 10. Iteratoren “jeg” ville bli lagret i indeksen “i” av liste l. Dette betyr. I det siste har utskriftserklæringen blitt brukt til å skrive ut den oppdaterte listen L.

  • L = []
  • For jeg i rekkevidde (1, 10):
  • L [i] = i
  • Trykk (l)

Når vi kjører koden ovenfor, kaster den et unntak om at listeoppgaveindeksen er utenfor rekkevidde, som vist i det vedlagte øyeblikksbildet:

En vedlegg () -funksjon kan også brukes til å løse følgende problemer. Så vi har oppdatert koden igjen. Den samme tomme listen “L” er initialisert her. Vi har definert et annet spekter for "for" sløyfe -iterasjoner, jeg.e., 2 til 15. Deretter har Appled () -metoden blitt brukt her for å legge iteratoren “I” -verdien til listen. Utskriftserklæringen har blitt brukt til å skrive ut listeelementene:

  • L = []
  • For jeg i rekkevidde (2, 15):
  • L.vedlegg (i)
  • Trykk (l)

Etter å ha kjørt den oppdaterte koden, har vi kjøpt de oppdaterte listeelementene som vist i det vedlagte øyeblikksbildet:

Konklusjon:

Denne artikkelen inneholder implementering av indekserror: listeoppdragsindeks utenfor rekkevidden sammen med løsningene. Vi har brukt vedlegg () -metoden for å løse den, men du kan også bruke Sett inn () -metoden. Vi håper denne artikkelen har gitt nyttige tips. Hvis du vil ha flere tips, kan du sjekke Linuxhint.