擅长:python、mysql、java
<p>您可以使用<code>itertools.groupby</code>:</p>
<pre><code>import itertools
d = [{'grade': '7', 'current_student_sum': 1559}, {'grade': '8', 'current_student_sum': 1638}, {'grade': 'KF', 'current_student_sum': 1588},{'grade': 'KA', 'current_student_sum': 1588}, {'grade': 'PA', 'current_student_sum': 366}, {'grade': 'PF', 'current_student_sum': 54}, {'grade': 'PP', 'current_student_sum': 384}]
new_d = [[a, list(b)] for a, b in itertools.groupby(sorted(d, key=lambda x:x['grade'][0]), key=lambda x:x['grade'][0])]
final_grade = [{'grade':a, 'current_student_sum':sum(i['current_student_sum'] for i in b)} for a, b in new_d]
</code></pre>
<p>输出:</p>
<pre><code>[{'grade': '7', 'current_student_sum': 1559},
{'grade': '8', 'current_student_sum': 1638},
{'grade': 'K', 'current_student_sum': 3176},
{'grade': 'P', 'current_student_sum': 804}]
</code></pre>