Wskaźnik listy z zakresu Python

Wskaźnik listy z zakresu Python

W Python, Indekserorror jest jednym z najczęściej występujących błędów wykonawczych. Błąd występuje, gdy próbujesz uzyskać wartość indeksu, która nie występuje w liście Python. Czasami niewielkie debugowanie może rozwiązać błąd indeksu. Istnieją dwa powody wystąpienia tego błędu. Pierwszym powodem tego błędu jest próba przejścia przez listę i nie przypominasz sobie, że indeksy list zaczynają się od zera. Po drugie, gdy nie używasz funkcji Range (), aby przejść przez listę. W tym przewodniku szczegółowo omówimy ten błąd i sugerujemy sposoby go rozwiązania. Z pomocą przykładów omawiamy, jak to działa.

Przykład 1:

W tym przykładzie drukujemy wszystkie elementy obecne na liście o nazwie „CARS_NAME”I sprawdź, w jaki sposób występuje błąd„ indeks listy poza zakresem ”. Robimy to wszystko, używając kompilatora Spyder w systemie Windows 10. Po prostu uruchom Spyder IDE, Utwórz nowy plik z menu pliku i przetworzyć dalsze wdrożenie programu.

W naszym kodzie programu po raz pierwszy zadeklarowaliśmy i zainicjowaliśmy dwie zmienne. Pierwsza zmienna, „CARS_NAME”Przechowuje listę samochodów, które chcemy wyświetlić na ekranie konsoli. „„liczyć„Zmienna jest wykorzystywana do zapisania liczby elementów wyświetlonych na ekranie.

Następnie używamy pętli. Podczas gdy pętla wyświetla wartość z „CARS_NAME”W punkcie indeksu zapisanym w„liczyć". Ta pętla iteruje się do wartości „liczyć”Spełnia dany warunek.

Cars_name = [„Honda”, „Civic”, „Corolla”]
Count = 0
Podczas liczby <= len(cars_name)
Druk (cars_name [crowin])
Count += 1

Po zapisaniu pliku i określeniu jego nazwy uruchamiamy nasz kod programu, aby sprawdzić błąd. Błąd został wyświetlony na poniższym zrzucie ekranu.

Wszystkie elementy na naszej liście są wyświetlane na ekranie konsoli, ale „Błąd indeksu" wystąpił. Problem występuje, ponieważ pętla ciągle iteraliczyć„Wartość spełnia dany warunek. Oznacza to, że sprawdza wartość końcowego przemieszczania się dla CARS_NAME [3], która nie istnieje. To generuje Indekserorror. Aby rozwiązać ten problem, możemy zmienić naszego operatora z „mniej niż równy" Do "mniej niż". Zapewnia to, że nasza lista przemierza się tylko do „liczyć”Spełnia dany nowy warunek. Poruszajmy się i dokonajmy tej poprawki:

Cars_name = [„Honda”, „Civic”, „Corolla”]
Count = 0
Podczas liczby < len(cars_name)
Druk (cars_name [crowin])
Count += 1

Teraz pomyślnie naprawiliśmy indekserorror. Zapisz i uruchom plik i sprawdź, czy nasza pętla wykonuje dobrze i próbuje wyświetlić nazwę cars_name [3]. Udany wynik można teraz zobaczyć.

Przykład 2:

Kiedy przemierzamy listę i zapomnij o dodaniu instrukcji Range (). Jeśli odzyskujesz wartości na tej liście, może istnieć możliwość indekserorrora.

Student_rollno = [9, 10, 9]
Dla Rollno w studenta_rollno:
Druk (student_rollno [Rollno])

W tym przykładzie drukujemy wszystkie elementy obecne w „student_rollno- tablica. Ta tablica obejmuje liczbę rzutu uczniów w klasie. Uruchommy nasz kod z pomocą kompilatora Spyder i sprawdźmy, co otrzymamy. Znowu mamy podobny błąd.

Wystąpił indekserror. Zwiększmy instrukcję drukowania, aby wyświetlić dane wyjściowe „student_rollno".

Student_rollno = [9, 10, 9]
Dla Rollno w studenta_rollno:
Wydruku (Rollno)
Druk (student_rollno [Rollno])

Ponownie zapisz kod za pomocą „Ctrl+s”I uruchom program, aby sprawdzić, co stało się dalej:

„„Rollno”9 jest wyświetlany na ekranie konsoli. Jednakże "Rollno„Wartość to prawdziwa wartość z„student_rollno". Ale w naszym programie staramy się pobrać „Rollno”Według numeru indeksu. Aby rozwiązać ten problem, oto oświadczenie Range (), aby przejść na listę studenta_rollno. Funkcja Range () tworzy listę w określonej kolejności indeksu.

Student_rollno = [9, 10, 9]
Dla Rollno w zakresie (0, Len (student_rollno)):
Druk (student_rollno [Rollno])

Ponownie wykonaj program i sprawdź, czy naprawia błąd:

Wniosek

W tym samouczku omówiliśmy występowanie błędu ”wynik operacji poza skalą”I sposoby, aby to naprawić. Aby naprawić błąd, staraj się nie uzyskać dostępu do wartości, która nie występuje na liście. Mam nadzieję, że teraz możesz wprost rozwiązać ten błąd podczas kompilacji kodów.