为什么“for”循环会跳过列表中的元素?

2024-10-02 00:33:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个简单的Python练习,其想法是创建一个函数来添加列表的编号。问题是当我运行它时for循环跳过几个整数,我不知道为什么

def simplearraysum(ar):
    sum = 0
    for number in ar:
        sum = sum + number
        ar.remove(number)
    return sum


list = [1, 2, 3, 4, 10, 11]

print(simplearraysum(list))

输出是14,但应该是31


Tags: 函数innumber列表forreturndef整数
1条回答
网友
1楼 · 发布于 2024-10-02 00:33:46

在迭代列表时,不应修改列表。for循环将处理列表中的元素。只需对行进行注释,即可获得正确的输出:

def simplearraysum(ar):
    sum = 0
    for number in ar:
        sum = sum + number
        #ar.remove(number)
    return sum


list = [1, 2, 3, 4, 10, 11]

print(simplearraysum(list))

相关问题 更多 >

    热门问题