Je voudrais insérer la valeur d'une variable dans le nom d'une autre variable dans Python. Dans un script shell, ce serait quelque chose comme: mais je ne peux pas voir comment faire une chose similaire à Python. Y a-t-il un moyen ou devrais-je utiliser une approche alternative?
merci
Andy p> p>
5 Réponses :
Un dict est un moyen de maintenir un tableau associatif.
dict = {} dict[str] = calc();
Ne nommez jamais votre dict " dict code>"; Cette ombres est le type code> dictune code>, qui est le type de dictionnaire, que vous devrez peut-être appeler à un moment donné.
Ne le faites pas! Avoir des noms variables qui changent en fonction de la valeur d'une variable conduit à des complications inutiles. Un moyen plus propre consiste à utiliser un dictionnaire:
Merci! (et à d'autres réponses). Cela semble moins fragile que mon approche de script shell aussi.
Ouais pour cette tâche dict va bien, mais qu'est-ce que lorsque une certaine valeur arrive et j'ai déjà défini des valeurs. Je pouvais juste prendre des exceptions et faire: Essayez: classe. {type} ... code > Je sais que cela vient de PHP mais ça sauve tellement de nerfs ..
Peut-être pas parfait, mais deux solutions possibles:
Mais sachez que l'approche locals () code> ne fonctionne pas dans les fonctions. Voir ici: forums.duevshed.com/python-programming -11 / ... Il est toujours valide, je l'ai testé.
for n in more_list: globals()["var_"+str(n)]=some_calculation
Y a-t-il un moyen d'utiliser cela dans une classe? comme soi-même. ["var_" + str (n)] = valeur ???
Fondamentalement, il ne préfère pas avoir une variable comme var1 = foo var2 = bar Var $ {id} est en fait un groupe de variables avec des caractéristiques similaires, c'est pourquoi vous souhaitez nommer de telles manières. Essayez d'utiliser la liste ou dicter quelles variables de groupe de manière plus efficace! P>
Dans un script shell, cela n'est pas non plus correct. Vous devez utiliser un
eval code>