Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Saya Mendapat Ralat Indeks dalam Gelung \'for i in ar\' Saya Apabila Menjumlahkan Nilai Senarai?

Mengapa Saya Mendapat Ralat Indeks dalam Gelung \'for i in ar\' Saya Apabila Menjumlahkan Nilai Senarai?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 13:44:02967semak imbas

Why Do I Get an IndexError in My

IndexError dalam Gelung "for i in ar": Memahami Lelaran

Apabila cuba menjumlahkan nilai senarai menggunakan gelung for, seseorang mungkin menghadapi Ralat Indeks , TypeError, atau hasil yang salah. Ralat ini timbul disebabkan oleh penggunaan indeks senarai yang salah.

Pertimbangkan kod berikut:

<code class="python">def sumAnArray(ar):
    theSum = 0
    for i in ar:
        theSum = theSum + ar[i]
    return theSum</code>

Di sini, kami berhasrat untuk mengulang senarai dan mengumpul nilai dalam Jumlah. Walau bagaimanapun, kod tersebut mencetuskan IndexError kerana i mewakili setiap elemen senarai, bukan indeksnya.

Untuk menggelung senarai dengan betul dan mengakses elemennya, seseorang harus mengubah suai kod kepada:

<code class="python">def sumAnArray(ar):
    theSum = 0
    for i in ar:
        theSum = theSum + i
    return theSum</code>

Sebagai alternatif, seseorang boleh menggunakan julat untuk mengulangi indeks senarai yang sah:

<code class="python">def sumAnArray(ar):
    theSum = 0
    for i in range(len(ar)):
        theSum = theSum + ar[i]
    return theSum</code>

Pengubahsuaian ini memastikan bahawa i mewakili indeks yang sah dalam senarai, menghalang Ralat Indeks dan membolehkan pengiraan jumlah yang betul.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Indeks dalam Gelung 'for i in ar' Saya Apabila Menjumlahkan Nilai Senarai?. 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