如何在python中使用列表推导在日历上打印月份



基本上需要使用列表推导法打印一个月的日历。

我不知道怎么做这个工作,如果有人能帮助我,我将不胜感激

对于列表理解不是很好,所以不确定从哪里开始

您可以使用calendar库以各种格式显示日历

>>> calendar.monthcalendar(2022, 12)
[[0, 0, 0, 1, 2, 3, 4],
[5, 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17, 18],
[19, 20, 21, 22, 23, 24, 25],
[26, 27, 28, 29, 30, 31, 0]]
>>> calendar.TextCalendar().prmonth(2022, 12)
December 2022
Mo Tu We Th Fr Sa Su
1  2  3  4
5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

要生成示例中的格式,可以使用列表推导式将嵌套的int列表转换为填充字符串

>>> [['{:02d}'.format(day) if day != 0 else '' for day in week] for week in calendar.monthcalendar(2022, 12)]
[['', '', '', '01', '02', '03', '04'],
['05', '06', '07', '08', '09', '10', '11'],
['12', '13', '14', '15', '16', '17', '18'],
['19', '20', '21', '22', '23', '24', '25'],
['26', '27', '28', '29', '30', '31', '']]

最新更新