def higher_gpa(courses, beat_me, limit=10): counts = {} sums = {} for course in courses: for fn in course: counts[fn] = counts.get(fn, 0) + 1 sums[fn] = sums.get(fn, 0) + course[fn] res = [fn for fn in sums if sums[fn] > counts[fn] * beat_me] return res[:limit]