我有以下代码:
import calendar
month=calendar.month_name
print(month)
我希望得到以下数据形式或列表形式的输出:
['January','February',...,'December']
但上面的代码没有给我任何回报。
任何人都可以指出我的错误吗?
答案 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