You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何根据子列表的指定属性对列表内的子列表进行排序

解决方法

你需要给sort方法的key参数传入提取子列表最后一项的函数即可,完整实现代码如下:

a = [
    ['David','McConor','123000','900'],
    ['Timothy','Gerrard','123001','901']
]
# 定义排序键:取每个子列表的最后一个元素
mykey = lambda x: x[-1]
# 降序排序,数值更大的901会排在最前
a.sort(key=mykey, reverse=True)
# 逐个打印子列表
for sub_list in a:
    print(sub_list)

运行后输出结果为:

['Timothy', 'Gerrard', '123001', '901']
['David', 'McConor', '123000', '900']

补充说明

如果后续列表中出现长度超过3位的数字字符串(比如'1000'),字符串字典序排序会出现'1000' < '901'的不符合数值逻辑的情况,可以将排序键改为转整数逻辑,实现纯数值排序:

mykey = lambda x: int(x[-1])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:45:03