场景:我试图将一个月的所有日子传递给一个列表,我可以在其中迭代和使用函数,例如 weekday()。
问题:到目前为止,我能够使用日历将日期或天数传递到列表中。在这两种情况下,当我尝试读取日期并仅输出所需的工作日时,都会收到错误消息:
AttributeError: 'list' object has no attribute 'weekday'
到目前为止我做了什么(在 SO 上其他帖子的帮助下):
这在这里工作正常,但我需要它更加动态
import calendar
cal = calendar.Calendar()
cal.monthdatescalendar(2019, 1)[0][1]
cal.monthdatescalendar(2019, 1)[0][1].weekday()
r = [foo for foo in cal.monthdatescalendar(2019, 1)]
所以我尝试了:
r = [foo for foo in calendar.monthcalendar(2019, 1)]
list(r)
和
r = [foo for foo in cal.monthdatescalendar(2019, 1)]
list(r)
所有这些都可以正常工作,但是当我尝试迭代时,例如:
r = [foo for foo in cal.monthdatescalendar(2019, 1)]
if r[1].weekday() == 1:
list(r)
或者
r = [foo for foo in cal.monthdatescalendar(2019, 1) if foo[1].weekday() == 1]
list(r)
我收到前面提到的错误。
问题:关于如何正确/更有效地做到这一点的任何想法?
最终目标:是创建一个函数,将月、年、周和工作日作为输入,并返回一个日期时间对象。