[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Re: Variable definition

John Posner

3/1/2010 7:35:00 PM

On 3/1/2010 1:07 PM, Raphael Mayoraz wrote:
> John Posner wrote:
>> On 2/26/2010 6:32 PM, Raphael Mayoraz wrote:
>>> Hello,
>>>
>>> I'd like to define variables with some specific name that has a common
>>> prefix.
>>> Something like this:
>>>
>>> varDic = {'red': 'a', 'green': 'b', 'blue': 'c'}
>>> for key, value in varDic.iteritems():
>>> 'myPrefix' + key = value
>>>
>>
>> No trick, just swap a new key-value pair for each existing pair:
>>
>> for key, value in varDic.iteritems():
>> varDic[myPrefix + key] = value
>> del varDict[key]
>>
>> Just make sure that *myPrefix* isn't an empty string!
>>
>> -John
> Thanks for your answer.
> However, your solution changes the key name in the dictionary.
> That's not what I want I need to do. What I want is to define a new
> variable which name is define as a string: 'myPrefx' + key. In the example
> I give, I would get 3 variables:
> myPrefixred = a
> myPrefixgreen = b
> myPrefixblue = c

Yes, I misinterpreted your request. I believe there's a consensus around
here that you shouldn't even try to accomplish your goal. Instead of
creating *myPrefixred* as a (module-)global name or a (function-)local
name, you should just use the dictionary as-is: *varDict['red']*. Or
maybe make the names into attributes of a class, as Alex Goretoy
suggested. [1]

Can you present a convincing argument as to why you really, really need
to use the name *myPrefixred* ?

-John

[1] http://mail.python.org/pipermail/python-list/2010-February/12...