多个变量的列表理解生成月份名称和数字

list comprehension for multiple variables generate month name and number

我正在尝试生成 "name and a serial number" 格式的列表。 例如:month name + number

print [each, i for i, each in enumerate(calendar.month_name[1:])]

显然我无法同时打印 each 和 i 变量。 有没有更好的方法来解决这个问题? 谢谢!

这样试试:

for i, each in enumerate(calendar.month_name[1:]):
    print each, i    # this will print on variables per line

这将打印列表:

print [[each, i] for i, each in enumerate(calendar.month_name[1:])]  

您可以将它们转换为元组并打印它们

print [(each, i) for i, each in enumerate(calendar.month_name[1:])]  

或者作为帕德莱克,你可以从1开始,如

print [(each, i) for i, each in enumerate(calendar.month_name[1:],start = 1)]  

如果你想要功能,你可以压缩:

print(zip(*(calendar.month_name[1:],xrange(1,13))))
[('January', 1), ('February', 2), ('March', 3), ('April', 4), ('May', 5), ('June', 6), ('July', 7), ('August', 8), ('September', 9), ('October', 10), ('November', 11), ('December', 12)]