163 votes

Convertir une chaîne en nom de variable en python

J'ai une chaîne de caractères. comme 'buffalo',

x='buffalo'

Je veux convertir cette chaîne en un nom de variable comme,

buffalo=4

pas seulement cet exemple, je veux convertir n'importe quelle chaîne d'entrée en un nom de variable. Comment dois-je faire cela (en python)?

180voto

StefanW Points 1936
x='buffalo'    
exec("%s = %d" % (x,2))

Après cela, vous pouvez vérifier en:

print buffalo

En sortie, vous verrez: 2

45voto

phntmasasin Points 695

C'est la meilleure façon que je connaisse de créer des variables dynamiques en python.

my_dict = {}
x = "Buffalo"
my_dict[x] = 4

J'ai trouvé une question similaire mais pas la même ici Créer des variables nommées dynamiquement à partir de l'entrée de l'utilisateur

23voto

DeadChex Points 943

Vous pouvez utiliser un dictionnaire pour suivre les clés et les valeurs.

Par exemple...

dictOfStuff = {} ##Créez un dictionnaire

x = "Buffalo" ##OU cela peut être égal à l'entrée de quelque chose, à vous de choisir.

dictOfStuff[x] = 4 ##Obtenez l'emplacement du dictionnaire qui a la même clé ("name") que x. Dans ce cas, "Buffalo" et définissez-le sur 4. Ou vous pouvez le définir sur ce que vous voulez.

print(dictOfStuff[x]) ##imprimez la valeur de l'emplacement du dictionnaire qui a la même clé ("name") que le dictionnaire.

Un dictionnaire est très similaire à un dictionnaire dans la vie réelle. Vous avez un mot et vous avez une définition. Vous pouvez chercher le mot et obtenir la définition. Donc dans ce cas, vous avez le mot "Buffalo" et sa définition est 4. Cela peut fonctionner avec n'importe quel autre mot et définition. Assurez-vous simplement de les mettre d'abord dans le dictionnaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X