import itertoolsimport operatorL = [('HSBC8999', 4, 179447), ('HSBC1199', 81, 864108), ('HSBC1199', 32, 715121),('HSBC8999', 4, 1447),('HSBC1199', 32, 61521) ]L.sort(key=operator.itemgetter(0))for _k, stackoverflow in itertools.groupby(L, operator.itemgetter(0)): subl = list(stackoverflow) subl.sort(key=operator.itemgetter(1)) for k, subg in itertools.groupby(subl, operator.itemgetter(1)): subs = list(subg) print("the average of {} is {}".format(k, sum(s[2] for s in subs)/len(subs)))


