擅长:python、mysql、java
<p>当前编写的问题是,函数无法知道键名<code>pair1</code>,因为每个字典的键名不同。你知道吗</p>
<p>您可以对每个字典使用一致的键名,如<code>pair</code>:</p>
<pre><code>p1 = {'pair': ([2, 3, 4], [5, 6, 7])}
p2 = {'pair': ([9, 10, 11], [12, 13, 14])}
p3 = {'pair': ([12, 20, 30], [17, 8, 30])}
def find_and_set_mean(a_dictionary):
a_dictionary['mean']=np.mean(a_dictionary['pair'])
find_and_set_mean(p1)
find_and_set_mean(p2)
find_and_set_mean(p3)
</code></pre>
<p>它给出:</p>
<pre><code>{'pair': ([2, 3, 4], [5, 6, 7]), 'mean': 4.5}
{'pair': ([9, 10, 11], [12, 13, 14]), 'mean': 11.5}
{'pair': ([12, 20, 30], [17, 8, 30]), 'mean': 19.5}
</code></pre>
<p>但更好的解决方案可能是将其组织为对象:</p>
<pre><code>class PairObject(object):
def __init__(self, _part1, _part2):
self.part1 = _part1
self.part2 = _part2
def pair(self):
return (self.part1, self.part2)
def mean(self):
return np.mean((self.part1, self.part2))
# Then use it like this:
p1 = PairObject([2, 3, 4], [5, 6, 7])
p1.pair() # returns ([2, 3, 4], [5, 6, 7])
p1.mean() # returns 4.5
</code></pre>