当前位置: 首页 > 面试题库 >

按绝对值排序而不更改为绝对值

冯浩旷
2023-03-14
问题内容

我想使用abs()对元组进行排序,而无需实际将元组的元素更改为正值。

def sorting(numbers_array):
    return sorted(numbers_array, key = abs(numbers_array))


sorting((-20, -5, 10, 15))

根据python
Wiki(https://wiki.python.org/moin/HowTo/Sorting/#Key_Functions),sorted(list,key
=)函数假定使用参数 key 进行排序,而实际上并未更改清单。但是,abs()只需要int(),如果我需要这样做,我还没有想办法将元组变成int。


问题答案:

您需要提供key一个 callable ,一个函数或类似于call的函数;它将被排序序列中的每个元素调用。abs可以被称为:

sorted(numbers_array, key=abs)

相反,您传递了调用 结果abs(),这实际上不适用于整个列表。

演示:

>>> def sorting(numbers_array):
...     return sorted(numbers_array, key=abs)
... 
>>> sorting((-20, -5, 10, 15))
[-5, 10, 15, -20]


 类似资料:
  • 问题内容: 我正在寻找一种按特定列的绝对值对熊猫数据框进行排序的简单方法,但实际上并未更改数据框内的值。类似的东西。因此,如果我有一个像这样的数据框: 在对’b’进行排序时所得的排序数据看起来像: 问题答案: 更新 由于和 已被弃用(感谢@Ruggero Turra),您现在可以使用它来实现:

  • 我有一系列的双值,我想求和,得到最大值。听起来非常适合这样做。方法有一个API注释,提醒我在我的一门计算机科学课程中学到了什么:如果按绝对值排序,求和问题的稳定性往往会更好。但是,不允许我指定要使用的比较器,它只会使用

  • 问题内容: 如何按名称->值对json文件排序?我想按标签名称的asc值显示。任何想法如何转换我的json文件? 这是我的JSON文件的外观: 如果有人帮助我,我将不胜感激。提前致谢。 问题答案: 我建议使用

  • 问题内容: 我需要根据存储在其中的值对我进行排序。在包含存储在手机联系人的名字。 另外,我还要求在对值进行排序时对键进行自动排序,否则你可以说键和值绑定在一起,因此值的任何更改都应反映在键中。 要求的输出: 问题答案: 尝试下面的代码对我来说很好。你可以选择升序和降序 编辑:版本2 使用了新的Java功能,例如流for-each等 如果值相同,则地图将按键排序

  • 我有一个班的学生有以下领域: 字段“状态”可以有2个值:1。现在,2。缺席的 然后我有一个可观察的列表: 因此,我将学生存储在这个列表中。每个学生都有出席或缺席状态。 我需要按状态对这个观察列表进行排序。我希望目前状态的学生在该列表中名列第一。 有什么建议吗? 如果有任何帮助,我将不胜感激。

  • 本文向大家介绍使用NumPy的绝对偏差和绝对均值偏差,包括了使用NumPy的绝对偏差和绝对均值偏差的使用技巧和注意事项,需要的朋友参考一下 在统计分析中对样本中数据变异性的研究表明,给定数据样本中的值有多分散。计算变异性的两个重要方法是绝对偏差和 均值绝对偏差。 绝对偏差 在这种方法中,我们首先找到给定样本的平均值,然后计算每个值与样本平均值之间的差,称为每个数据样本的绝对偏差值。因此,对于高于平