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

基于子数组第二元素的Python排序多维数组

颜志业
2023-03-14
问题内容

我有一个像这样的数组:

[['G', 10], ['A', 22], ['S', 1], ['P', 14], ['V', 13], ['T', 7], ['C', 0], ['I', 219]]

我想基于第二元素按降序对其进行排序。理想的输出为:

[['I', 219], ['A', 22], ['P', 14], ... ]

问题答案:

list.sortsorted接受可选key参数。key函数用于生成比较密钥。

>>> sorted(lst, key=lambda x: x[1], reverse=True)
[['I', 219], ['A', 22], ['P', 14], ['V', 13], ['G', 10], ...]

>>> sorted(lst, key=lambda x: -x[1])
[['I', 219], ['A', 22], ['P', 14], ['V', 13], ['G', 10], ...]

>>> import operator
>>> sorted(lst, key=operator.itemgetter(1), reverse=True)
[['I', 219], ['A', 22], ['P', 14], ['V', 13], ['G', 10], ...]


 类似资料:
  • 我试图计算2D数组的每个元素,但出于某种原因,我做错了:

  • 问题内容: 我已经实现了冒泡排序来对二维java long [] []进行排序,但是我的天哪太慢了,我将需要禁食算法,因为我将生成最大堆大小的数组,jvm将允许我, 所以我认为最好和最快的方法是使用内置的java Arrays.sort 我不介意它是否只能在第一列上排序,因为我可以更改程序以适合它,但我碰到了这一点,但对陌生人并不熟悉, 这将使我能够对整数的维数组进行排序,有人知道如何将其更改为允

  • 编写一个程序,提示用户输入一个双值nxn矩阵,并显示一个新的矩阵,其中对初始矩阵的列进行了排序。您可以使用任何排序算法来解决问题;请在代码头中指定所用排序算法的名称。您的程序必须实现排序算法;不能使用Array类中提供的排序方法。排序应该实现到一个方法中,其中返回一个新数组,而原始数组保持不变: 该程序还应该实现一个方法,打印初始和结果矩阵给用户。打印出来的应该是很好的格式。下面是一个运行示例:

  • 我的清单和我认为是正确的方法 但我得到的 为什么?

  • 问题内容: 我有这个数组 现在,我想按此方法对数组进行排序 ? 目前,我在一个foreach循环中对此进行排序 必须有更好的方法 编辑 我希望输出类似 谢谢 问题答案: 您可以使用usort函数。

  • 我有一个数组,看起来像:。而将始终保持常数。我希望x每迭代增加100。 我就是这么做的: null null 正如您所看到的,它不是在增加值。它总是只是插入。在第一个名为pies的对象中,我希望和下一个名为cakes的对象为。 我该怎么做?