根据外部和内部元组的值对列表进行排序(Python)

Liv*_*l92 -2 python tuples list

我有一份表格清单

l = [(98, (99, 1)),(97, (97, 3)),(97, (100, 3))]
Run Code Online (Sandbox Code Playgroud)

我想根据外部元组的第一个值和内部元组的第一个值对这个列表进行排序:( 98 , ( 99 , 1) ) 。我想得到以下结果:

[(98, (99, 1)),(97, (100, 3)),(97, (97, 3))]
Run Code Online (Sandbox Code Playgroud)

在python中最好的方法是什么?

rah*_*f23 5

您可以创建自定义排序功能:

sorted(l, key=lambda x: (x[0], x[1][0]), reverse=True)
Run Code Online (Sandbox Code Playgroud)

产量:

[(98, (99, 1)), (97, (100, 3)), (97, (97, 3))]
Run Code Online (Sandbox Code Playgroud)