根据函数参数创建变量名?蟒蛇

时间:2014-01-25 19:10:43

标签: python string list function naming-conventions

因此,如果我有代码接受一些列表,重新排序它们并创建不同的命名和有序列表等,如下所示:

for names in twentyandovermenfreestyle:
    nameid = twentyandovermenfreestyle.index(names)

try:
    breastid = twentyandovermenbreastroke.index(names)
except ValueError:
        twentyandovermenBreastroke.append(names)
        breastid = twentyandovermenBreastroke.index(names)
        twentyandovermenBreastroke.append(1000)
    twentyandovermen_Breast.append(twenyandovermenbreastroke[breastid])

有没有办法可以在函数中绑定整个东西,并传递参数来构建列表的字符串名称?类似的东西:

def strokesort(agegroup,gender):

    for names in ***agegroup + gender*** +freestyle: # ie it build the string name of the code above?
        nameid = ***agegroup + gender*** + freestyle.index(names)

    try:
        breastid = ***agegroup + gender*** + breastroke.index(names)
    except ValueError:
        ***agegroup + gender*** + Breastroke.append(names)
        breastid = ***agegroup + gender*** + Breastroke[0].index(names)
        ***agegroup + gender*** + Breastroke.append(1000)
    ***agegroup + gender*** + _Breast.append(***agegroup + gender*** + breastroke[breastid])

我希望这是有道理的。我将重新使用这个函数,我宁愿不必在参数中明确键入每个列表名称,并且我确实使用一致的命名方法,所以我认为必须有一种方法来构造字符串 然后“是”字典名称?

1 个答案:

答案 0 :(得分:0)

首先,如果您将此功能设为本地名称,则无需具体:

def strokesort(agegrp, gender):
    lst = []
    lst.append(whatever)
    return lst

然后,当函数返回时,您可以为列表指定一些有意义的名称:

twentyandovermen_breast = strokesort('twentyandover', 'men')

其次,动态变量名称很少是正确的答案。为什么不使用基于字典的结构:

{'twentyandover': {'men': [...], ...}, ...}