首页 > 解决方案 > 在 For 循环中跳过迭代并在 Python 中重复初始化

问题描述

假设我有A=[2,4, 3 ,1],我想通过在每个步骤中跳过一个元素来计算内部元素的总和。我尝试的是:

s=[ ]
a=0
for i in range(len(A)):
    for j in range(len(A)):
        if i==j:
            continue
        else :
            a +=A[j]
    s.append(a)

当我打印s我得到的结果时

print(s)

s=[8, 14, 21, 30]

我想要的是:

s=[ 8, 6, 7, 9]

在哪里

8=4+3+1 我们跳过A[0]
6=2+3+1 我们跳过A[1]
7=2+4+1 我们跳过A[2]
9=2+4+3 我们跳过A[3]

标签: pythonloopsiteratorskip

解决方案


如何计算总和然后返回总和减去每个项目,使用列表理解?

sum_a = sum(A)
output = [sum_a - a for a in A]
print(output) # [8, 6, 7, 9]

推荐阅读