-1
votes

Imprimer le contenu d'une liste donnée par la liste contenant le nom de la variable

Je me sens comme si le titre n'est pas le meilleur, j'espère que je puisse l'expliquer correctement.

J'ai une liste contenant le nom et l'ordre des variables nécessaires à la sortie. P>

for i in range(len(outVar):
    print(outVar[i])  


3 commentaires

Pourquoi n'utilisez-vous pas de dict ?


S'il vous plaît expliquer pourquoi vous faites cela. Traverser la limite d'abstraction entre les noms variables (comme des cordes que vous manipulez) et leurs valeurs, est une "odeur de code" distincte ... Cela indique presque toujours un problème dans la conception du programme.


XY Problème


4 Réponses :


0
votes

Vous pouvez utiliser un dict à la place, par exemple xxx

et modifier votre boucle sur xxx


0 commentaires

1
votes

Vous pouvez accéder à la portée avec la fonction locaux () code>, qui vous retournera un dict code> contenant toutes les variables locales.

local_scope = locals()

for name in outVar:
    print(name, local_scope[name]) 


0 commentaires

0
votes

Dans votre liste Vous ajoutez les variables en tant que caractère ou chaîne en utilisant 'A'. Il suffit de supprimer les "" autour des noms de variables dans votre liste comme: Outvar = [A, B, C]


1 commentaires

Dictionnaire serait une solution correcte, cette solution est bonne jusqu'à ce que l'indice de toutes les variables soient fixes.



0
votes

Je ne sais pas si vous attendez cela, mais je vais toujours prendre un coup de poignard à celui-ci xxx


0 commentaires