擅长:python、mysql、java
<p>我会这么做。你知道吗</p>
<pre><code>def avg(nums):
nums = list(nums)
return round(sum(nums) / len(nums), 1)
d = {'actor1': {'salary': {'year1': 60, 'year2': 65}, 'age': 30},
'actor2': {'salary': {'year1': 20, 'year2': 30}, 'age': 17},
'actor3': {'salary': {'year1': 50, 'year2': 80}, 'age': 25}}
average = {'salary': {}}
average['age'] = avg(actor['age'] for actor in d.values())
for year in list(d.values())[0]['salary']:
average['salary'][year] = avg(actor['salary'][year] for actor in d.values())
b = {'average': average}
</code></pre>
<pre><code>>>> print(b)
{'average': {'salary': {'year1': 43.3, 'year2': 58.3}, 'age': 24.0}}
</code></pre>
<p>这可以处理任意正的年数和参与者数,并且不需要<code>itertools</code>或<code>numpy</code>。你知道吗</p>