所以我有一大堆看起来像这样的数据
[('ART', [100, 234, 830, 304]), ('MATH', [600, 1400, 300, 340]), ('HISTORY', [2010, 300, 400, 600])]
我如何将其转换为一组数据,我可以对其中的数字进行平均然后排序?我正在使用Python 2.7
答案 0 :(得分:6)
有:
input = [('ART', [100, 234, 830, 304]),
('MATH', [600, 1400, 300, 340]),
('HISTORY', [2010, 300, 400, 600])]
这样:
print sorted( ( (k,sum(v)/len(v)) for k,v in input ), key=lambda t: t[1] )
打印:
[('ART', 367), ('MATH', 660), ('HISTORY', 827)]