You need to enable JavaScript to run this app. Python如何基于列表内部元素从右到左的优先级对多列表进行排序
优惠活动
大模型
产品
解决方案
定价
更多

Python如何基于列表内部元素从右到左的优先级对多列表进行排序

Python实现按列表元素从右到左优先级排序

实现方法

Python内置的sorted()函数和列表sort()方法默认按照序列元素从左到右的顺序比较,要实现从右到左的优先级排序,只需将排序的key设置为子列表的倒序即可。

代码示例

待排序数据

待排序的列表集合:
[2005, 6, 21], [2003, 5, 21], [2005, 5, 11], [2003, 5, 22]
期望返回结果:
[2003, 5, 21], [2003, 5, 22], [2005, 5, 11], [2005, 6, 21]

排序代码

# 定义待排序的列表集合
lists = [[2005, 6, 21], [2003, 5, 21], [2005, 5, 11], [2003, 5, 22]]
# 按从右到左的优先级排序,返回新的排序后列表
sorted_lists = sorted(lists, key=lambda x: x[::-1])
# 原地排序写法(直接修改原列表,无需返回新对象)
# lists.sort(key=lambda x: x[::-1])
print(sorted_lists)

运行输出

[[2003, 5, 21], [2003, 5, 22], [2005, 5, 11], [2005, 6, 21]]

原理解释

  • x[::-1]是Python的切片语法,作用是将列表倒序,例如[2005,6,21]倒序后得到[21,6,2005]
  • 排序时会优先比较倒序后的第一个元素(对应原列表最右侧元素),相等时再依次比较后续元素(对应原列表从右往左数的下一个元素),完全符合从右到左的优先级要求

内容的提问来源于stack exchange,提问作者idiot one

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 12:36:03