擅长:python、mysql、java
<p>Pythonic会像这样使用列表理解-</p>
<pre><code>d = {
'cashflowStatements': [
{
'endDate': '2019',
'totalCashFromOperatingActivities': -40743000,
'capitalExpenditures': -46141000
},
{
'totalCashflowsFromInvestingActivities': 148919000,
'endDate': '2018',
'capitalExpenditures': -53753000
},
{
'totalCashflowsFromInvestingActivities': -45493000,
'endDate': '2017',
},
{
'totalCashflowsFromInvestingActivities': -19651000,
'endDate': '2016',
'capitalExpenditures': -26266000
}
]
}
print(sum([year.get('totalCashFromOperatingActivities', 0) + year.get('capitalExpenditures', 0) for year in d['cashflowStatements']]))
</code></pre>
<p>输出:<code>-166903000</code></p>
<p>再看看这个问题,我们似乎希望<code>freeCashflow</code>仅用列表的最后一个dict中存在的数据之和初始化,然后使用下面的代码</p>
<pre><code>print(d["cashflowStatements"][-1].get('totalCashFromOperatingActivities', 0) + d["cashflowStatements"][-1].get('capitalExpenditures', 0))
</code></pre>
<p>输出:<code>-26266000</code></p>