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

Python中如何按照嵌套列表的内层元素对列表进行多条件排序

Python嵌套列表多条件排序实现方法

直接使用Python内置的列表排序工具,自定义排序key即可实现需求,不需要引入额外第三方库。

核心逻辑说明

Python中布尔值True对应数值1,False对应数值0,将第一个元素取反后作为最高排序优先级,即可实现True排在False前面的要求;后续依次将第二、第三个元素作为次级、三级排序依据,默认升序排列即可匹配规则。

实现代码

方式1:直接修改原列表(使用list.sort())

my_list = [[False, 3, 82],[True,15,34], [False,22, 33], [True,2, 5], [False,1,67], [False, 22, 44], [True, 6, 99], [True, 14, 34], [False, 2, 82]]
# 按规则排序
my_list.sort(key=lambda x: (-x[0], x[1], x[2]))
# 输出验证结果
print(my_list)

方式2:生成新的排序后列表(使用sorted(),不修改原列表)

my_list = [[False, 3, 82],[True,15,34], [False,22, 33], [True,2, 5], [False,1,67], [False, 22, 44], [True, 6, 99], [True, 14, 34], [False, 2, 82]]
sorted_list = sorted(my_list, key=lambda x: (-x[0], x[1], x[2]))
# 输出验证结果
print(sorted_list)

两种方式运行后都可以得到你期望的排序结果:

[[True, 2, 5], [True, 6, 99], [True, 14, 34], [True, 15, 34], [False, 1, 67], [False, 2, 82], [False, 3, 82], [False, 22, 33], [False, 22, 44]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:15:05