Python按多个条件排序
我有一个列表,其中每个元素都是形式[list of integers, integer]
。例如,列表的元素可能看起来像这样[[1,3,1,2],
-1]
。
我想通过以下条件对包含描述的元素类型的列表进行排序:
-
如果两个元素的整数列表(即
element[0]
)的长度不同,则整数列表较小的元素是较小的元素。 -
否则,如果整数列表的长度相同,则较小的元素是第一个整数的较小整数,这两个元素的整数列表都不同。例如:
[[1,1,99,100],-1] <[[1,1,100,1],-1],因为99 <100。
- 否则,如果整数列表相同,则较小的元素是中的较小整数的元素
element[1]
。
如何编写可以传递给sorted()或sort()的适当键函数?