Jadi, Anda bekerja dengan daftar atau larik dengan Python dan mungkin mencoba mengirisnya. Tetapi alih-alih hasil yang diharapkan, Anda mendapatkan kesalahan yang mengatakan, "daftar indeks di luar jangkauan." Jangan khawatir, itu bisa terjadi pada siapa saja.

Mari kita telusuri apa arti kesalahan ini, penyebabnya, dan bagaimana cara menghilangkannya tanpa basa-basi lagi.

Apa Arti Kesalahan "daftar indeks di luar jangkauan" dengan Python?

Ketika Python memunculkan kesalahan "daftar indeks di luar jangkauan", itu berarti Anda mencoba mengiris daftar di luar indeks terakhirnya.

Python mengidentifikasi setiap item dalam daftar berdasarkan indeksnya. Dan indeks daftar dimulai dari nol. Misalnya, ketika Anda memiliki daftar dengan lima item, item pertama ada di indeks nol, sedangkan yang terakhir ada di indeks keempat.

Misalnya, dalam daftar lima bahasa pemrograman:

Bahasa = ["Python", "Go", "PHP", "C", "Perl"]

Pengindeksan untuk daftar di atas adalah antara nol dan empat. Jadi mencoba mengirisnya untuk mencetak item kelima seperti yang ditunjukkan di bawah ini memberikan kesalahan:

instagram viewer
cetak (bahasa[5])
Keluaran:
IndexError: daftar indeks di luar jangkauan

Dalam contoh di atas, Python mencoba mencari indeks kelima dalam daftar, dan ketika tidak dapat menemukannya, ia melempar kesalahan indeks daftar. Itu karena elemen pertama (Python) ada di indeks nol, sedangkan yang terakhir (Perl) ada di indeks empat.

Itulah dasar dari kesalahan "daftar indeks di luar jangkauan". Seperti yang dikatakan, Python melemparnya setiap kali Anda mencoba mengiris daftar di luar indeks terakhirnya.

Cara Menghapus Kesalahan "daftar indeks di luar jangkauan" dengan Python

Jadi bagaimana Anda bisa menghapus kesalahan ini? Mudah.

Lebih jauh ke bagian sebelumnya di atas, Anda dapat mencetak indeks menggunakan a untukloop dalam pemahaman daftar:

indeks = [languages.index (i) untuk i dalam bahasa]
cetak (indeks)
Keluaran:
[0, 1, 2, 3, 4]

Indeks daftar adalah dasar dari slicing dalam pemrograman. Jadi karena Anda mengetahui indeks tertinggi dari daftar untuk output di atas (4), Anda dapat menguraikan batas irisan.

Karenanya, untuk mengiris daftar dan mendapatkan item terakhir:

cetak (bahasa[4])
Keluaran:
Perl

Sekarang menampilkan hasil yang benar.

Bagaimana jika Anda Ingin Melewati Daftar Menggunakan Indeksnya?

Selain reguler Python untuk loop, Anda juga dapat menggunakan konsep indeks untuk beralih melalui daftar. Meskipun metode ini mungkin terlihat sulit, terkadang itu tidak dapat dihindari. Misalnya, ini berguna jika Anda ingin mengurutkan daftar dalam urutan terbalik.

Metode ini bekerja dengan menetapkan indeks awal dan menambah atau menguranginya satu per satu hingga indeks terakhir yang tersedia.

Untuk mencetak item dengan nomor indeks yang meningkat (item pertama hingga item terakhir), misalnya:

indeks = 0 # indeks awal
untuk saya dalam Bahasa:
print (Bahasa[indeks])
indeks +=1
Keluaran:
Python
Pergi
PHP
C
Perl

Tetapi apa yang terjadi jika Anda menetapkan indeks awal ke satu, bukan nol? Lihat:

indeks = 1 # indeks awal
untuk saya dalam Bahasa:
print (Bahasa[indeks])
indeks +=1
Keluaran:
Pergi
PHP
C
Perl
IndexError: daftar indeks di luar jangkauan

Pada contoh di atas, pengindeksan dimulai dari item kedua (indeks satu, Pergi). Jadi saat bertambah, loop tidak berhenti sampai selesai menghitung lima item. Ini memaksa indeks naik satu hingga item terakhir.

Oleh karena itu, irisan mencapai indeks kelima yang tidak tersedia. Jadi itu melempar kesalahan indeks. Ini berarti indeks meningkat dengan pola berikut untuk setiap item:

1=1, 1+1=2, 1+2=3, 1+3=4, 1+4=5 

Alih-alih pola yang benar, yaitu:

0=0, 0+1=1, 1+1=2, 1+2=3, 1+3=4

Seperti yang Anda lihat, nilai tertinggi dari indeks di atas adalah empat, yang benar karena loop mulai menaikkan pengindeksan dari nol.

Oleh karena itu, menyetel indeks awal ke nol seperti yang Anda lakukan pada contoh pertama di bagian ini akan menghapus kesalahan "daftar indeks di luar jangkauan":

indeks = 0 # indeks awal
untuk saya dalam Bahasa:
print (Bahasa[indeks])
indeks +=1 #Meningkatkan indeks satu per satu untuk setiap iterasi

Untuk menerapkan konsep ini untuk mengeluarkan item dalam urutan terbalik, Anda harus mengurangi satu dari panjang array. Jadi ini memaksa indeks untuk memulai dari empat dan menghitung mundur ke indeks pertama, nol.

Ini berguna jika Anda tidak yakin tentang nilai panjang daftar yang berasal dari sumber, katakanlah, database.

Berikut ini contohnya:

indeks = (len (Bahasa)-1)
untuk saya dalam Bahasa:
print (Bahasa[indeks])
indeks -=1 #Turunkan indeks satu per satu untuk setiap iterasi
Keluaran:
Perl
C
PHP
Pergi
Python

Tetapi gagal mengurangi satu dari panjang daftar akan menimbulkan kesalahan "daftar di luar rentang indeks":

indeks = (len (Bahasa)-1)
untuk saya dalam Bahasa:
print (Bahasa[indeks])
indeks -=1
Keluaran:
IndexError: daftar indeks di luar jangkauan

Kode di atas menimbulkan kesalahan indeks karena panjang daftar adalah lima, dan mencoba untuk memulai pengindeksan dari lima ke nol, sedangkan indeks tertinggi adalah empat. Jadi itu berarti daftar tersebut tidak memiliki indeks kelima (item keenam).

Dapatkan Daftar Penanganan Kreatif dengan Python

Kesalahan Python ramah-manusia dan biasanya dapat dibaca. Selalu, ini membuat mereka dapat dilacak sampai batas yang wajar.

Seperti yang telah Anda pelajari, menghapus daftar indeks di luar jangkauan kesalahan cukup mudah. Jika Anda menghadapi kesalahan ini di program masa depan Anda, terlepas dari seberapa rumit daftarnya, Anda dapat menerapkan konsep yang dijelaskan dalam posting ini untuk menyelesaikan masalah.

Jangan ragu untuk berkreasi dengan daftar yang rumit. Anda mungkin juga ingin mempelajari cara mengurutkan daftar dengan Python di waktu luang Anda untuk memahami semuanya dengan lebih baik.

Cara Mengurutkan Hampir Semua Jenis Daftar dengan Python

Daftar dengan beberapa tipe data bisa lepas kendali dengan cepat. Berikut cara mengurutkannya dengan Python.

Baca Selanjutnya

MembagikanMenciakSurel
Topik-topik terkait
  • Pemrograman
  • Python
  • Pemrograman
  • Kiat Pengkodean
Tentang Penulis
Idowu Omisola (136 Artikel Diterbitkan)

Idowu sangat menyukai teknologi dan produktivitas yang cerdas. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.

More From Idowu Omisola

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan