如何在python中打印出calendar.month_name数组?

时间:2017-08-04 07:31:13

标签: python arrays

我有以下代码:

import calendar
month=calendar.month_name   
print(month)

我希望得到以下数据形式或列表形式的输出:

['January','February',...,'December']

但上面的代码没有给我任何回报。

任何人都可以指出我的错误吗?

3 个答案:

答案 0 :(得分:7)

它返回的内容实际上是array object。如果您想将其转换为列表,请在其上调用list()

>>> import calendar
>>> calendar.month_name
<calendar._localized_month instance at 0x10e0b2830>
>>> list(calendar.month_name)
['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']

默认情况下,列表将空字符串作为其第一个元素,以便索引可以从1而不是0进行。如果要删除它,只需执行list(calendar.month_name[1:])

根据您的代码,实际上可能不需要做任何理由。数组对象将具有与任何列表相同的属性:

>>> for month in calendar.month_name[1:]:
...     print month
... 
January
February
March
April
May
June
July
August
September
October
November
December

答案 1 :(得分:1)

>>>import calendar
>>>months = [x for x in calendar.month_name if x]
>>>print(months)
['January',
 'February',
 'March',
 'April',
 'May',
 'June',
 'July',
 'August',
 'September',
 'October',
 'November',
 'December']

答案 2 :(得分:1)

使用过滤器获取非空字符串:

lsof