簡體   English   中英

創建基於函數參數的變量名? 蟒蛇

[英]create variable names based on function arguments? Python

因此,如果我有接受某些列表的代碼,對它們重新排序並創建不同名稱和順序的列表等,如下所示:

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])

我希望這是有道理的。 我將大量使用該函數,而不必在參數中明確鍵入每個列表名稱,並且我使用一致的命名方法,因此我認為必須有一種構造方法然后“是”字典名稱的字符串?

首先,如果您將此功能設置為本地名稱,則無需具體說明:

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

然后,當函數返回時,您可以為列表分配一些有意義的名稱:

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

其次,動態變量名稱很少是正確的答案。 為什么不具有基於字典的結構:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM