python - 在 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]
解决方案
如何计算总和然后返回总和减去每个项目,使用列表理解?
sum_a = sum(A)
output = [sum_a - a for a in A]
print(output) # [8, 6, 7, 9]
推荐阅读
- kotlin - Kotlin:编写类似于 Java 的大型 lambda?
- laravel - 根据 url 在刀片模板上显示内容
- database - 如何使用 db 而不是 Laravel 本地化配置文件
- sql - Rank() Over Partition By 对表列进行排名以给我较旧的记录
- javascript - 如何禁用反应选择中的某些选项
- sql - 为什么 SQL Server 不允许我将 '21/04/17' 存储为日期?
- python - 仅当某个字段为 True 时,如何才能渲染视图?- 姜戈
- c# - WPF - 按钮上下文菜单未正确显示
- java - Spring Security JDBC认证登录用户错误
- python - 查找列表中多个集合之间的交集