在python中,如何先根据元组的第二个元素对元组列表进行排序,然后再根据元组的第三个元素对其进行排序?

在python中,如何先根据元组的第二个元素对元组列表进行排序,然后再根据元组的第三个元素对其进行排序?,python,list,sorting,Python,List,Sorting,大家好,我有一个元组列表,如下所示: L = [(el,3,1),(el2,2,3),(el3,3,2),(el4,2,4),(el5,1,3)] L_ordered = [(el5,1,3),(el2,2,3),(el4,2,4),(el,3,1),(el3,3,2)] 我想这样点: L = [(el,3,1),(el2,2,3),(el3,3,2),(el4,2,4),(el5,1,3)] L_ordered = [(el5,1,3),(el2,2,3),(el4,2,4),(el,3

大家好,我有一个元组列表,如下所示:

L = [(el,3,1),(el2,2,3),(el3,3,2),(el4,2,4),(el5,1,3)]
L_ordered = [(el5,1,3),(el2,2,3),(el4,2,4),(el,3,1),(el3,3,2)]
我想这样点:

L = [(el,3,1),(el2,2,3),(el3,3,2),(el4,2,4),(el5,1,3)]
L_ordered = [(el5,1,3),(el2,2,3),(el4,2,4),(el,3,1),(el3,3,2)]
我先是针对第二个数字下单,然后是针对第三个数字下单,但维持第二个数字的顺序。
有人知道如何在python中做到这一点吗?

使用
sort()
sorted()
函数的
参数;让它按照应该考虑的顺序返回应该考虑的字段的元组:

L = [(el,3,1), (el2,2,3), (el3,3,2), (el4,2,4), (el5,1,3)]

L_ordered = sorted(L, key=lambda item: (item[1], item[2]))