月の日付のリストを取得するのにスマートな方法が知りたい。
ぱっと思いついた方法を書いておく。もっと単純なやり方がある気がしてならない。
import datetime import calendar now = datetime.datetime.now() month_days = [d for d in reduce(lambda a,b: a+b, calendar.monthcalendar(now.year, now.month)) if not d == 0] print month_days
中途半端にforだったりreduce+lambdaだったりするのも微妙な。
追記
ueblogさんに教えていただいた方法。calendar.monthrangeを見逃していた。
import datetime import calendar now = datetime.datetime.now() month_days = [i+1 for i in range(calendar.monthrange(now.year, now.month)[1])] print month_days