list - Need to take average of long, strangely formatted set of data in Python -
so have large set of data looks
[('art', [100, 234, 830, 304]), ('math', [600, 1400, 300, 340]), ('history', [2010, 300, 400, 600])]
how turn set of data can average numbers inside of , sort? i'm using python 2.7
for:
input = [('art', [100, 234, 830, 304]), ('math', [600, 1400, 300, 340]), ('history', [2010, 300, 400, 600])]
this:
print sorted( ( (k,sum(v)/len(v)) k,v in input ), key=lambda t: t[1] )
prints:
[('art', 367), ('math', 660), ('history', 827)]
Comments
Post a Comment