? Python innehåller några inbyggda fel som uppstår när programmerare utföra enkla misstag . Ett sådant fel , en IndexError , uppstår när sammansatta datatyper är manipulerade felaktigt . För att förstå vad en IndexError förhindrar , måste en programmerare vet hur föreningen datatyper arbete , när felet inträffar , och hur man undviker felet helt och hållet . Listor och Data Tuple Typer
Python , listan och uppgifter tupel typer beter sig som sammansatta datatyper , med flera hänvisningar till olika värden . Exempelvis
x = [ '1 ' , '2' , '3 ' ]
y = ( '1' , '2 ' , '3' ) katalog
"X " variabeln representerar en lista , betecknas med hakparenteser . " Y " representerar en tupel . Även om det finns skillnader mellan de två datatyper , de båda har varierande mängder data ( i detta fall , både håller värdena " 1 , 2 , 3 " ) . Addera Index
för att hämta värden från en lista eller tupel , måste programmeraren vet index för värdet . Med tanke på
listan
x = [ '1 ' , '2 ' , '3 ' ]
värdena ockupera tre indexen . Samtliga index för sammansatta datatyper börjar med siffran noll . Så variabeln x innehåller tre värden vid tre index : noll, ett och två . En programmerare kommer hämta ett värde genom att referera till variabeln och värdet index inom parentes . Om du vill hämta värdet från listan , skulle den korrekta hänvisningen vara
x [ 0 ]
som representerar det första indexet i listan x .
Out of Range index
Eftersom en lista eller någon förening typ endast har begränsade index ( det som innehåller data , eller har avsatts för data) , kan en programmerare försöka oavsiktligt komma åt ett index utanför intervall av listan. I Python , kommer detta försök kasta ett fel , som kallas en IndexError . Till exempel har listan x endast tre index ( noll, ett och två ) . Under loppet av ett program , ett försök att komma åt ett index än att inträffa. I detta fall förekommer en IndexError
Exempel
Ett enkelt exempel är en enkel felaktig tillgång till en utanför intervallet index på en lista : .
y = x [ 3 ]
Detta kommer att kasta en IndexError ( x saknar index " 3 " ) . Ett index fel kan uppstå oavsiktligt som en del av en loop :
i = 0 ;
medan jag < = 4 :
print x [ i]
i + = 1
När variabeln "i" steg till tre , kommer slingan att försöka skriva ut x [ 3 ] , och kasta en IndexError . För att undvika detta scenario , använder " för " loop struktur , som alltid skriver bara de befintliga index i en lista :
för y i x :
print y