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

Python如何生成两日间星期列表及获取星期名称索引?

问题解答

1. 简便获取两天之间的完整星期列表

可以借助Python标准库的calendar模块,结合列表切片快速实现,无需手动编写复杂循环判断:

import calendar

# 获取标准英文星期全称列表(若需固定顺序,也可手动定义:['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'])
full_week = list(calendar.day_name)
# 输入的起始和结束星期
start_end = ['Monday', 'Thursday']
start, end = start_end

# 获取两个星期的索引
start_idx = full_week.index(start)
end_idx = full_week.index(end)

# 处理两种情况:正常顺序(起始在结束前)、跨周末循环(比如周五到周一)
if start_idx <= end_idx:
    result = full_week[start_idx:end_idx + 1]
else:
    result = full_week[start_idx:] + full_week[:end_idx + 1]

print(result)  # 输出: ['Monday', 'Tuesday', 'Wednesday', 'Thursday']

这种方法利用标准库资源,通过切片语法简化区间提取逻辑,比自定义函数更简洁高效。

2. 获取指定星期几的索引

直接使用列表的index()方法即可,支持手动定义星期列表或结合calendar模块:

方法一:手动定义列表

full_week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
# 获取Wednesday的索引
wednesday_idx = full_week.index('Wednesday')
print(wednesday_idx)  # 输出: 2(索引从0开始计数)

方法二:结合calendar模块

import calendar
full_week = list(calendar.day_name)
wednesday_idx = full_week.index('Wednesday')
print(wednesday_idx)  # 输出对应索引

注意:calendar.day_name的顺序会受系统locale影响,如果需要固定的星期顺序,建议手动定义列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 15:08:11