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

Python中如何按周一至周日顺序排序列表的列表?

按周一至周日顺序排序温度列表的解决方案

给定无序的星期温度列表:

weekly_temperature = [['Saturday', 100], ['Wednesday', 95], ['Friday', 80],
['Monday', 95], ['Sunday', 90], ['Tuesday', 100], ['Thursday', 85]]

需要将其按周一至周日的顺序排序,得到目标结果:

[['Monday', 95], ['Tuesday', 100], ['Wednesday', 95], 
['Thursday', 85], ['Friday', 80], ['Saturday', 100], ['Sunday', 90]]

实现方法

核心思路是为星期几定义固定的优先级映射,用映射值作为排序依据:

  1. 定义星期顺序映射
    创建字典,将每个星期名称映射到对应顺序索引(周一为0,周日为6):

    week_order = {
        'Monday': 0,
        'Tuesday': 1,
        'Wednesday': 2,
        'Thursday': 3,
        'Friday': 4,
        'Saturday': 5,
        'Sunday': 6
    }
    
  2. 使用sorted()函数排序
    利用Python内置sorted()函数,通过key参数指定排序规则——提取每个子列表的星期名称,映射到week_order中的索引值:

    sorted_temps = sorted(weekly_temperature, key=lambda x: week_order[x[0]])
    
  3. 验证结果
    打印sorted_temps即可得到符合要求的排序结果。

补充说明

  • 字典映射的查找效率为O(1),比列表index()方法(O(n))更高效,适合数据量较大的场景。
  • 如果需要直接修改原列表而非生成新列表,可使用列表的sort()方法:
    weekly_temperature.sort(key=lambda x: week_order[x[0]])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:52:38