回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>数据结构是一个字典,每个值都是另一个字典,例如:</p>
<pre><code>>>> from lib import schedule
>>> schedule = schedule.Schedule()
>>> game = schedule.games[0]
>>> game.home
<lib.schedule.Team instance at 0x9d97c6c>
>>> game.home.lineup
{'guerv001': {'HR': 392, '1B': 1297}, 'kendh001': {'HR': 12, '1B': 201}, 'andeg001': {'HR': 272, '1B': 1572}, 'mattg002': {'HR': 104, '1B': 632}, 'figgc001': {'HR': 26, '1B': 672}, 'iztum001': {'HR': 16, '1B': 253}, 'huntt001': {'HR': 213, '1B': 834}, 'quinr002': {'HR': 23, '1B': 200}, 'napom001': {'HR': 46, '1B': 96}}
</code></pre>
<p>希望团队有一个方法getTotals(self,category),如果您调用:</p>
^{pr2}$
<p>在这种情况下,该方法将产生:</p>
<pre><code>1104
</code></pre>
<p>基本上你可以看到我在做什么。有什么想法吗?在</p>
<p><b>更新:</b>我使用了两种列表理解方法,但希望将其简化为一种:</p>
<pre><code>def getTotals(self, category):
cats = [x for x in self.lineup.values()]
return sum([x[category] for x in cats])
</code></pre>
<p><b>另一个更新:</b>基于<a href="https://stackoverflow.com/users/198633/inspectorg4dget">inspectorg4dget</a>的有用反馈,我得到了它。谢谢!在</p>
<pre><code>def getTotals(self, category):
return sum(self.lineup[man][category] for man in self.lineup.keys())
</code></pre>
<p><b>最终更新:</b>根据<a href="https://stackoverflow.com/users/97828/nadia-alramli">Nadia</a>的反馈,以下是另一种方法:</p>
<pre><code>def getTotals(self, category):
return sum(value.get(category, 0) for value in self.lineup.values())
</code></pre>