需要在Python中取平均值很长,奇怪格式的数据集

Dav*_*mar 3 python sorting tuples average list

所以我有一大堆看起来像这样的数据

[('ART', [100, 234, 830, 304]), ('MATH', [600, 1400, 300, 340]), ('HISTORY', [2010, 300,   400, 600])]
Run Code Online (Sandbox Code Playgroud)

我如何将其转换为一组数据,我可以对其中的数字进行平均然后排序?我正在使用Python 2.7

Dan*_* D. 6

对于:

input = [('ART', [100, 234, 830, 304]), 
         ('MATH', [600, 1400, 300, 340]), 
         ('HISTORY', [2010, 300, 400, 600])]
Run Code Online (Sandbox Code Playgroud)

这个:

print sorted( ( (k,sum(v)/len(v)) for k,v in input ), key=lambda t: t[1] )
Run Code Online (Sandbox Code Playgroud)

打印:

[('ART', 367), ('MATH', 660), ('HISTORY', 827)]
Run Code Online (Sandbox Code Playgroud)