首页  >  文章  >  后端开发  >  如何按降序和升序对列表列表进行排序?

如何按降序和升序对列表列表进行排序?

Patricia Arquette
Patricia Arquette原创
2024-10-21 17:24:02437浏览

How to Sort a List of Lists in Descending and Ascending Order?

按降序和升序对列表进行排序

给定一个包含两个元素的列表,目标是对列表进行排序首先根据第一个元素按降序排列,然后根据第二个元素按升序排列。

为了实现这一点,我们可以利用 sort() 方法和自定义键函数。这是一个解决方案:

<code class="python">L = [['a',1], ['a',2], ['a',3], ['b',1], ['b',2], ['b',3]]
L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>

sort() 方法的关键参数指定一个确定排序顺序的函数。在本例中,我们定义了一个 lambda 函数,它接受一个列表 k 并返回一个元组。元组的第一个元素是列表k[0]的第一个元素,用于降序排序。第二个元素是列表第二个元素的否定 -k[1],用于升序排序。

通过先降序排序,reverse=True 保证每个列表的第一个元素('a' 或 'b') 按相反的字母顺序排序。随后,对第二个元素进行升序排序,整个列表排序为:

[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]

这有效地实现了所需的排序标准。

以上是如何按降序和升序对列表列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn