pythonのsortの公式ドキュメントを読んでみた。

要点
sortの方がsortedよりも速い。
キーをラムダで指定するより、itemgetterの方が速い
itemgetterでは、二段階でのソート条件を指定できる。
パイソンでは、Timsortを使っているらしい。参考

from operator import itemgetter
sorted(student_tuples, key=itemgetter(2))
sorted(student_tuples, key=itemgetter(1,2))
>>[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]