for循环中的变量命名

时间:2013-02-24 12:25:43

标签: for-loop python-2.7

我正在编写一个可以使用列表列表的函数,如果我使用这个例子:

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

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

我想要这样做,比如说是[1月,2月,3月],结果应该是这样的:JanuaryIndex = *,FebruaryIndex = *,MarchIndex = *,和等等;与许多不同的月份。是否有捷径可寻?感谢。

1 个答案:

答案 0 :(得分: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)