好吧,让我们迭代所有字典键并平均项目:
avgDict = {}
for k,v in StudentGrades.iteritems():
# v is the list of grades for student k
avgDict[k] = sum(v)/ float(len(v))
现在你可以看到:
avgDict
Out[5]:
{'Ivan': 3.106666666666667,
'Martin': 4.816666666666666,
'Stoyan': 3.89,
'Vladimir': 5.433333333333334}
从你的问题我觉得你对迭代而不是dicts感到不安,所以输出作为列表也是如此:
avgList = []
for k,v in StudentGrades.iteritems():
# v is the list of grades for student k
avgDict.append(sum(v)/ float(len(v)))
但请注意:字典中的项目顺序不保证;也就是说,不保证在字典上打印或迭代时键/值的顺序(因为词语是“未排序的”).
两次相同的字典对象(没有添加/删除)循环保证表现相同.