Convert string naar variabelenaam in python

Ik heb een string. zoals ‘buffel’,

x='buffalo'

Ik wil deze string converteren naar een variabelenaam zoals,

buffalo=4 

niet alleen dit voorbeeld, ik wil elke invoerstring converteren naar een variabelenaam. Hoe moet ik dat doen (in python)?


Antwoord 1, autoriteit 100%

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

Daarna kunt u het controleren door:

print buffalo

Als uitvoer ziet u:
2


Antwoord 2, autoriteit 25%

Dit is de beste manier die ik ken om dynamische variabelen in python te maken.

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

Ik heb hier een vergelijkbare, maar niet dezelfde vraag gevonden
Dynamisch benoemde variabelen maken op basis van gebruikersinvoer


Antwoord 3, autoriteit 12%

U kunt een woordenboek gebruiken om de sleutels en waarden bij te houden.

Bijvoorbeeld…

dictOfStuff = {} ##Make a Dictionary
x = "Buffalo" ##OR it can equal the input of something, up to you.
dictOfStuff[x] = 4 ##Get the dict spot that has the same key ("name") as what X is equal to. In this case "Buffalo". and set it to 4. Or you can set it to  what ever you like
print(dictOfStuff[x]) ##print out the value of the spot in the dict that same key ("name") as the dictionary.

Een woordenboek lijkt erg op een echt woordenboek. Je hebt een woord en je hebt een definitie. Je kunt het woord opzoeken en de definitie krijgen. Dus in dit geval heb je het woord “Buffel” en de definitie is 4. Het kan met elk ander woord en elke andere definitie werken. Zorg ervoor dat je ze eerst in het woordenboek plaatst.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

13 − 5 =

Other episodes