Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengelakkan IndexError Apabila Menetapkan untuk Senarai Elemen dalam Python?

Bagaimana untuk Mengelakkan IndexError Apabila Menetapkan untuk Senarai Elemen dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-12-19 17:05:17497semak imbas

How to Avoid IndexError When Assigning to List Elements in Python?

Membetulkan IndexError pada Tugasan Elemen Senarai

Dalam cubaan mencipta senarai dengan menetapkan elemennya secara berulang, anda mungkin menghadapi IndexError apabila menggunakan sintaks tugasan seperti j[k] = l. Ralat ini timbul kerana senarai destinasi j pada mulanya kosong dan tidak mempunyai sebarang elemen untuk ditetapkan.

Untuk menyelesaikan isu ini dan menambah elemen pada j tanpa mencetuskan ralat indeks di luar julat, anda boleh menggunakan tambah kaedah objek senarai. Kaedah ini memerlukan satu hujah, elemen untuk ditambahkan pada penghujung senarai dan mengubah suai senarai di tempat.

Berikut ialah contoh menggunakan kaedah tambah:

i = [1, 2, 3, 5, 8, 13]
j = []
k = 0

for l in i:
    j.append(l)

Sebagai alternatif , jika anda ingin membuat senarai dengan menyalin elemen individu daripada senarai lain, anda boleh menggunakan pembina senarai dengan senarai sedia ada sebagai argumen:

j = list(i)

Akhir sekali, anda boleh membuat pra-membuat senarai dengan panjang tertentu dan memulakannya dengan nilai nol sebelum memberikan elemen kepada indeksnya. Pendekatan ini serupa dengan pengendalian tatasusunan dalam bahasa pengaturcaraan lain:

i = [1, 2, 3, 5, 8, 13]
j = [None] * len(i)
k = 0

for l in i:
    j[k] = l
    k += 1

Ingat bahawa senarai Python tidak membenarkan memberikan nilai kepada indeks yang tidak wujud. Menggunakan kaedah yang sesuai seperti tambah atau pembina senarai, atau pra-membuat senarai dengan panjang yang diingini, memastikan penciptaan dan pengubahsuaian senarai yang betul.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan IndexError Apabila Menetapkan untuk Senarai Elemen dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn