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

如何在Python中按特定规则对列表的列表进行排序?

实现多级优先级的列表排序

你只需要修改sorted函数的key参数,让它返回一个包含第一个元素和第二个元素的元组即可,Python会自动按元组内元素的顺序依次作为排序优先级:

mix_data_1 = sorted(mix_data, key=lambda x: (x[0], x[1]))

原理说明

当key返回元组时,Python的排序逻辑是:

  1. 首先比较元组的第一个元素(对应子列表的索引0元素)
  2. 若第一个元素相同,则比较元组的第二个元素(对应子列表的索引1元素)
  3. 以此类推,完全匹配你需要的优先级规则

示例验证

用你给出的数字列表测试:
输入:

mix_data = [[3, 4, 3],[2, 6, 2],[2, 5, 6]]

执行排序代码后得到的输出:

[[2, 5, 6], [2, 6, 2], [3, 4, 3]]

和你期望的结果完全一致。

字符串元素的适配

因为你实际的元素是字符串,这个方法同样适用——Python会按照字符串的字典序进行比较,比如对于子列表["b", "a", "c"]和["b", "b", "a"],排序时会先比较第一个字符串"b"和"b"(相同),再比较第二个字符串"a"和"b",最终["b", "a", "c"]会排在前面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:33:10