>  기사  >  백엔드 개발  >  목록 값을 합산할 때 \"for i in ar\" 루프에서 IndexError가 발생하는 이유는 무엇입니까?

목록 값을 합산할 때 \"for i in ar\" 루프에서 IndexError가 발생하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-03 13:44:02894검색

Why Do I Get an IndexError in My

"for i in ar" 루프의 IndexError: 반복 이해

for 루프를 사용하여 목록 값의 합을 구하려고 하면 IndexError가 발생할 수 있습니다. , TypeError 또는 잘못된 결과. 이 오류는 목록 인덱스의 잘못된 사용으로 인해 발생합니다.

다음 코드를 고려하세요.

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

여기에서는 목록을 반복하여 theSum에 값을 누적하려고 합니다. 그러나 i는 목록의 인덱스가 아닌 각 요소를 나타내기 때문에 코드는 IndexError를 발생시킵니다.

목록을 올바르게 반복하고 해당 요소에 액세스하려면 코드를 다음과 같이 수정해야 합니다.

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

또는 범위를 사용하여 유효한 목록 인덱스를 반복할 수 있습니다.

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

이러한 수정을 통해 i가 목록 내에서 유효한 인덱스를 나타내도록 하여 IndexError를 방지하고 합계를 올바르게 계산할 수 있습니다.

위 내용은 목록 값을 합산할 때 \"for i in ar\" 루프에서 IndexError가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.