擅长:python、mysql、java
<p>代码中的问题是<code>yearly_sums</code>的定义(或使用取决于人们如何看待它)。你知道吗</p>
<p>您将其定义为元组并在其上循环:</p>
<pre><code>yearly_sums = key, sum(value)
</code></pre>
<p>所以<code>for item in yearly_sums:</code>的第一次迭代给出了年份,结果<code>Yearly sum is: Year1</code>被打印出来。第二个返回实际成本,然后得到所需的结果。你知道吗</p>
<hr/>
<p>相反,您可以使用以下选项:</p>
<pre><code>d = {'year1':[1,2], 'year2':[3,4], 'year3':[5,6], 'year4':[7,8], 'year5':[9,10], 'year6':[11,12], 'year7':[13,14]}
for year, costs in d.items():
print('Yearly sum for {} is: {}'.format(year, sum(costs)))
</code></pre>
<p>产生:</p>
<pre><code>Yearly sum for year1 is: 3
Yearly sum for year2 is: 7
Yearly sum for year3 is: 11
Yearly sum for year4 is: 15
Yearly sum for year5 is: 19
Yearly sum for year6 is: 23
Yearly sum for year7 is: 27
</code></pre>
<hr/>
<p><strong>或者</strong>,尽可能保留代码:</p>
<pre><code>for key, value in d.items():
yearly_sums = key, sum(value)
print('Yearly sum for {} is: {}'.format(*yearly_sums))
</code></pre>
<p>当然,这会产生与上述相同的输出。你知道吗</p>