[Tutor] Addressing a variable whose name is the value of a string

Jordan Greenberg jordangreenberg at gmail.com
Sun Apr 8 23:00:56 CEST 2007


Andreas Pfrengle wrote:
> Bob Gailer wrote:
> 
>> Andreas Pfrengle wrote:
>>
>>> Hello,
>>>
>>> I want to change the value of a variable whose name I don't know, but
>>> this name is stored as a string in another variable, like:
>>>
>>> x = 1
>>> var = 'x'
>>>
>>> Now I want to change the value of x, but address it via var. 
>> exec is the statement for doing this, but the need to do this can 
>> always be met better by using a dictionary instead of global variables.
>>
> Thanks Bob, the 'exec' saved me. But I'm not sure how I could solve my 
> specific problem with a dict, since my 'var' variable is a string I'm 
> getting from a database-field, that refers to the name of another field, 
> which should be changed. So I see no other way than resolving the string 
> in some instance - or is there?

Sure, you do something like:
mydict={'x':1, 'y':2}
var='x'
mydict[var]=5
and then you just access it like mydict['x'] instead of just x.
Jordan

-- 
I prefer encrypted mail. My key is available at:
http://myweb.wit.edu/greenbergj/publickey.txt


More information about the Tutor mailing list