在Python中,构建一个循环,对值求和并将其添加到列表中的某个位置

2024-09-30 01:33:52 发布

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

我正在创建一个基于纳税申报单计算收入分配的循环。让我举一个简单的例子。请记住,这只是我需要生成的数据的一个子集,但我希望对读者保持简单。 我有10个收入组,每个组都被分配了一个数字,0-9。我们称之为“组”。假设我有另一个变量,它是一个包含10个职位的列表,名为“dist_agi”。这个变量将代表每个组的总调整总收入。它以默认值0开始。 在我的循环中,我想获取相应位置的调整后总收入,将其添加到该纳税申报表的调整后总收入中,然后将其放置在列表中的正确位置。最后,我应该有10个职位,包括该群体调整后总收入的总和。其思想是将位置编号表示为组。因此,如果group=0,则调整后的总收入应分配到列表中的第一个位置。因此,如果我有5个AGI为10的组0返回值,那么该位置的最终值应该是50

dist_agi= [0,0,0,0,0,0,0,0,0,0]
for tax_return in returns:
    myCalculator.calculate_taxes(tax_return) #This is my tax calculator. 
    sum_dist_agi = dist_agi[tax_return.group] + tax_return.adjusted_gross_income
    dist_agi.insert(tax_return.group, sum_dist_agi)
return dist_agi

不幸的是,当我运行它时,它不仅生成一个列表,而是一组值。有没有人对我如何才能做到这一点有什么建议


Tags: 数据列表returndistgroup职位子集例子
1条回答
网友
1楼 · 发布于 2024-09-30 01:33:52

如果我理解正确,dict_agi的长度应该是10(每组一个值)。但是,在代码中,insert调用每次都会将列表的长度增加1,因此dict_agi的总长度最终为10 + len(returns)

我认为您根本不需要insert调用:

dist_agi= [0,0,0,0,0,0,0,0,0,0]
for tax_return in returns:
    myCalculator.calculate_taxes(tax_return) #This is my tax calculator. 
    dist_agi[tax_return.group] += tax_return.adjusted_gross_income

这样,dist_agi代表每个群体的调整后总收入

相关问题 更多 >

    热门问题