2016-09-20 9 views
0

This articleは、operatorモジュールで複数のレベルの並べ替えを使用できることを示しています。モジュールを使用しない複数レベルの並べ替え

演算子モジュール関数は、複数レベルのソートを可能にします。たとえば、その後、年齢によって学年でソートします

sorted(student_objects, key=lambda student: student.age #somehow add another 

私は標準的な方法を把握することはできません。

>>>sorted(student_objects, key=attrgetter('grade', 'age')) 
[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)] 

これは、モジュールを必要とすることなく、標準的な方法を行うことが可能でなければなりませんしかし、これを行うには可能ですか?

答えて

2

operator内の関数が何を行うと、タプルを返す:

key=lambda student: (student.grade, student.age) 
関連する問題