現在書かれている質問の問題点は、pair1
辞書ごとに異なるため、関数がキー名を知る方法がないことです。
pair
すべての辞書のように、一貫したキー名を使用できます。
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)
与える:
{'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}
しかし、より良い解決策は、これをオブジェクトとして整理することです。
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