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

如何优雅地将列表中的星期缩写字符串替换为对应weekday数值

优化实现方案

通过固定映射字典+列表推导式实现,逻辑清晰、查询效率更高,完全替代原有的多分支判断写法:

# 预先定义星期缩写与对应数值的映射关系
weekday_map = {
    "MON": 0,
    "TUE": 1,
    "WED": 2,
    "THU": 3,
    "FRI": 4,
    "SAT": 5,
    "SUN": 6
}

selected_weekdays = ["MON", "WED", "THU", "SAT"]
# 与原逻辑完全对齐:不存在的非法值保留原值不处理
res = [weekday_map[day] if day in weekday_map else day for day in selected_weekdays]

print(res)

运行输出:

[0, 2, 3, 5]

可选扩展写法

如果需要过滤掉非法输入,只保留合法的星期对应数值:

res = [weekday_map[day] for day in selected_weekdays if day in weekday_map]

如果追求代码极简、且无需考虑性能(仅7项映射性能差距可忽略),也可以用列表索引实现:

weekday_order = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
res = [weekday_order.index(day) for day in selected_weekdays if day in weekday_order]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:36:07