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

时间:2020-02-16 05:06:45

标签: 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。

1 个答案:

答案 0 :(得分:1)

迭代列表时,请勿修改列表。 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))