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

如何按总元素数量对三维列表进行排序?

按三维列表分组的总元素数量排序

要实现按每个分组的总元素数量排序,你需要自定义排序的key函数,计算每个分组下所有子列表的元素总数——而直接用len()只会统计分组内的子列表个数,这就是你之前方法无效的原因。

解决方案代码

original_list = [
    [['4', '10'], ['2', '6'], ['1', '3']],
    [['1', '4', '10'], ['5', '2', '6'], ['11', '1', '3']]
]

# 按总元素数量降序排序,让元素多的分组排在前面
sorted_list = sorted(original_list, key=lambda group: sum(len(sublist) for sublist in group), reverse=True)

print(sorted_list)

代码说明

  • lambda group: sum(len(sublist) for sublist in group):这个匿名函数会遍历每个分组里的子列表,累加所有子列表的长度,得到该分组的总元素数,以此作为排序依据。
  • reverse=True:指定降序排列,若需要升序(元素少的在前),去掉该参数即可。

如果要直接修改原列表的顺序,使用list.sort()方法:

original_list.sort(key=lambda group: sum(len(sublist) for sublist in group), reverse=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 11:12:38