擅长:python、mysql、java
<p>您可以记住防止多次计算第一个数字的键:</p>
<pre><code>grades = [('CS1010S', 'A+'), ('MA1101R', 'C'),
('SSA1207', 'B+'), ('CS2020', 'A')]
grades = [(int(filter(lambda x: x.isdigit(), g[0])[0]), g) for g in grades ]
print sorted(grades)
</code></pre>
<p>给予:</em></p>
<pre><code>[(1, ('CS1010S', 'A+')), (1, ('MA1101R', 'C')),
(1, ('SSA1207', 'B+')), (2, ('CS2020', 'A'))]
</code></pre>