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