将变量连接到variab

2024-09-21 01:15:51 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个简单的问题,请原谅我。我想将变量名设置为使用for循环传递的任何值。你知道吗

roles = ["A" , "B" , "C"]
for role in roles:
    print (role)
    "outPutFor"+role = function_that_gives_outputforRole(role)

所以我希望我的变量是outPutForAoutPutForBoutPutForC。你知道吗

但是我得到了下面的错误

    "outPutFor"+role = function_that_gives_outputforRole(role)
           ^
SyntaxError: can't assign to operator

我错过了什么?你知道吗


Tags: inforthat错误functionrolerolesprint
2条回答

无法创建动态命名的变量。但是您可以使用类似python的dict

roles = ["A" , "B" , "C"]
outputs = {}
for role in roles:
    print (role)
    outputs["outPutFor"+role] = function_that_gives_outputforRole(role)

或者创建一个dict,将“roles”列表中的元素作为键。就像

roles = ["A" , "B" , "C"]
outPutFor = {}
for role in roles:
    print (role)
    outPutFor[role] = function_that_gives_outputforRole(role)
    print(outPutFor[role])

如果您正在寻找存储此函数每次迭代的output的方法,您可以创建一个名为resultslist,然后for each role in roles,您可以将insert/assign的输出function_that_gives_outputforRole放入results列表。你知道吗

示例:

roles = ["A" , "B" , "C"]
results = []
for i, role in enumerate(roles):
    results[i] = function_that_gives_outputforRole(role)

在本例中,您可以访问每个角色的输出值,如下所示:

results[0] = function_that_gives_outputforRole("A")
results[1] = function_that_gives_outputforRole("B")
results[2] = function_that_gives_outputforRole("C")

您还可以使用dict结构来存储每个输出,如kvorobiev's answer中所述。你知道吗

如果需要,可以将这两个列表zip()合并到一个列表中,以合并输入/输出值。你知道吗

相关问题 更多 >

    热门问题