Python noob hier so verzeihen Sie mir, wenn ich eine einfache Frage habe. Ich möchte den Variablennamen auf den Wert setzen, den ich mit meiner for-Schleife übergebe.Verketten Variable auf Variable
roles = ["A" , "B" , "C"]
for role in roles:
print (role)
"outPutFor"+role = function_that_gives_outputforRole(role)
Deshalb möchte ich meine Variablen outPutForA
, outPutForB
und outPutForC
zu lesen.
aber ich bin immer die unten ERROR
"outPutFor"+role = function_that_gives_outputforRole(role)
^
SyntaxError: can't assign to operator
Was ich hier fehlt?
Der Fehler weist auf das Problem hin. Siehe http://stackoverflow.com/questions/8956825/syntax-error-cant-assign-to-operator. – sgrg
Wahrscheinlich möchten Sie das nicht tun, vermutlich ist es besser, ein Wörterbuch "outPutFor" zu haben und 'outPutFor [" A "]' wie 'outPutForA' zu verwenden. Auf diese Weise können Sie auch einfach alle Möglichkeiten iterieren usw. – 098799
Sie können den * Namen * einer Variablen nicht 'berechnen'. Sie können nur den 'Inhalt' einer Variablen berechnen. Deshalb sollten Sie die Logik in Ihrer Schleife verallgemeinern. "outPutForA" ist die "Ausgabe" in der ersten Iteration (wenn 'role' auf' 'A'' gesetzt ist). Daher sollten Sie 'output =' outPutFor '+ role' oder 'output =' outPutFor '+ function_that_gives_outputforRole (role) 'setzen. – mhoff