2013-02-24 218 views
0

我正在写应该以列表的列表这样工作,如果我用这个例子:变量命名为循环

def mode(year): 
    monthAmount = len(year) 

    for month in year: 
     (month)Index = len(month) 

我想这是什么做的是,说是[1月,2月,3月],结果应该是这样的:JanuaryIndex = *,FebruaryIndex = *,MarchIndex = *等等;有几个不同的月份。是否有捷径可寻?谢谢。

回答

3

我不完全确定你在这里寻找什么。

为了得到一个索引的顺序你遍历与实际值在一起,使用enumerate() function

for index, month in enumerate(year): 
    print index, month 

你真的不想要动态设置全局变量。使用字典来代替:

monthindices = {} 

for month in year: 
    monthindices[month] = len(month) 

可以动态创建全局变量,通过访问globals() mapping,但这样做是一般一个坏主意。如果你很顽固,你会这样做:

gl = globals() 
for month in year: 
    gl['{}Index'.format(month)] = len(month)