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

按第二项对元组列表进行排序(整数值)

姜玮
2023-03-14
问题内容

我有一个元组列表,看起来像这样:

[('abc', 121),('abc', 231),('abc', 148), ('abc',221)]

我想按元组内的整数值将此列表升序排序。可能吗?


问题答案:

尝试将key关键字与一起使用sorted()

sorted([('abc', 121),('abc', 231),('abc', 148), ('abc',221)], key=lambda x: x[1])

key应该是一个标识如何从数据结构中检索可比较元素的函数。在你的情况下,它是元组的第二个元素,因此我们访问[1]

要进行优化,请参阅jamylak的响应,使用itemgetter(1),它实际上是的更快版本lambda x: x[1]。



 类似资料:
  • 问题内容: 我想对整数的arraylist的arraylist进行排序,需要帮助吗? 我被告知,我需要实现比较器或可比对象,然后使用collection.sort对列表列表进行排序… 问题答案: 没有错误检查空列表,但是这里是。 使用Java 8,它变得更加简洁:

  • 问题内容: 我需要首先对字典进行排序,使用来对值进行排序,对于重复的值,请按键进行排序, 到目前为止,我有这个 返回… 但我需要这样: 如您所见,当值相等时,我只能按指定的降序对键进行排序…但是,如何使它们按升序进行排序? 问题答案: 以下内容适用于您的输入: 由于您的“值”是数字,因此您可以通过更改符号轻松地反转排序顺序。 换句话说,这种排序按值()进行排序(负号先放置大数字),然后对相同的数字

  • 但我得到一条错误消息,说无法在原语类型int上调用compareToIgnoreCase(int) 我如何修复这段代码,使它能够用整数值对列表进行排序?

  • 问题内容: 从经验上讲,似乎Python的默认列表排序器在传递元组列表时将按每个元组中的第一个元素进行排序。那是对的吗?如果不是,按元组的第一个元素对元组列表进行排序的正确方法是什么? 问题答案: 它会自动按元组中的第一个元素对元组列表进行排序,然后按第二个元素进行排序,依此类推,tuple([1,2,3])将排在tuple([1,2,4])之前。如果要覆盖此行为,请将一个callable作为第二

  • 问题内容: 我需要对一个包含每个人年龄的数组列表进行排序,但是我必须打印出一个65岁以上的人的列表。我知道如何用SQL而不是Java来做到这一点。任何帮助,将不胜感激。谢谢! 问题答案: 首先,请确保您已充分说明了问题,然后考虑首先要使用的算法(不是特定于语言的);然后实施算法。 如果问题仅在于列出年龄在65岁以上(不是65岁或65岁以上)的所有人员,则只需要遍历该数组,并针对每一行检查年龄是否符

  • 我试图建立一个方法,将排序一个二维数组的双打按列。基于所提供的规范,此方法也不应该采用长度不等的行的粗糙数组。我正在使用双[][]mdarray={{3.0, 4.0, 1.0, 8.0},{13.0, 2.0, 12.0, 9.0}测试这个 使用打印方法时,应将其显示为 3.0, 2.0, 1.0, 8.0, 13.0, 4.0, 12.0, 9.0, 使用单独的打印方法输出结果时,数组似乎没有