Python-按数字对(正整数和负整数)列表排序

Python-按数字对(正整数和负整数)列表排序,python,Python,我有一个列表,包括正数和负数。我需要根据数字对这个列表进行排序(不管正负号) 示例:[-4,9],[1,2,3],-9,2],-8,7],[2] 结果应该是这样的:[[1,2,3],[2],[2,-9],-4,9],[7,-8]IIUC,使用排序的与abs和len: sorted([sorted(i, key=abs) for i in l], key=lambda x:(abs(x[0]), len(x))) 输出: [[1, 2, 3], [2], [2, -9], [-4, 9], [7

我有一个列表,包括正数和负数。我需要根据数字对这个列表进行排序(不管正负号)

示例:
[-4,9],[1,2,3],-9,2],-8,7],[2]


结果应该是这样的:
[[1,2,3],[2],[2,-9],-4,9],[7,-8]
IIUC,使用
排序的
abs
len

sorted([sorted(i, key=abs) for i in l], key=lambda x:(abs(x[0]), len(x)))
输出:

[[1, 2, 3], [2], [2, -9], [-4, 9], [7, -8]]

“基于”不明确,请确切说明应如何排序。你的意思是按第一位数字排序还是按每个数字排序,不管它是什么符号?列表是如何排序的?