【问题标题】:Python - Sort a list of (positive and negative) integers by number [duplicate]Python - 按数字对(正负)整数列表进行排序[重复]
【发布时间】:2020-07-10 06:11:50
【问题描述】:

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

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

结果应该是这样的:[[1, 2, 3], [2], [2,-9], [-4, 9], [7, -8]]

【问题讨论】:

  • 'based on' 不明确,请准确解释它应该如何排序。您的意思是按第一个数字排序还是按每个数字排序?
  • 列表是如何排序的?

标签: python


【解决方案1】:

IIUC,将sortedabslen 一起使用:

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]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-14
    • 2021-10-28
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多