[Tutor] Using a string to get at a Variable
Isr Gish
isrgish at fusemail.com
Mon Jan 19 22:07:21 EST 2004
Thanks Danny,
I appreciate your help, I'll look into it.
-----Original Message-----
>From: "Danny Yoo"<dyoo at hkn.eecs.berkeley.edu>
>Sent: 1/19/04 2:16:04 AM
>To: "Isr Gish"<isrgish at fusemail.com>
>Cc: "tutor at python.org"<tutor at python.org>
>Subject: Re: [Tutor] Using a string to get at a Variable
>
>> I don't understand the code you wrote, and what exactly its supposed to
>> do. But this is what I'm looking for.
>>
>> apples = 10
>> grapes = 5
>> pears = 8
>> fruits = ['apples', 'grapes', 'pears']
>> Now Iswant to be able to do something like this.
>> for fruit in fruits:
>> print 'You heve %d' % (fruit), fruit
>>
>> And the output should look like this:
>> You have 10 apples
>> You have 5 grapes
>> You have 8 pears
>>
>> Thanks for the reply and if anyone can help it would be appreciated.
>
>
>Hi Isr,
>
>You may want to look at dictionaries:
>
> http://www.ibiblio.org/obp/thinkCSpy/chap10.htm
>
>And by "may", I emphatically mean "You really should look at
>dictionaries." *grin*
>
>
>Instead of using the separate variables 'apples', 'grapes', and 'pears',
>we can use a dictionary to collect them all together:
>
>###
>>>> fruitbasket = {}
>>>> fruitbasket['apples'] = 10
>>>> fruitbasket['grapes'] = 5
>>>> fruitbasket['pears'] = 8
>###
>
>
>
>We can take a look at the fruitbasket as a whole:
>
>###
>>>> fruitbasket
>{'pears': 8, 'apples': 10, 'grapes': 5}
>###
>
>or just pick individual fruits out by name:
>
>###
>>>> fruitbasket['pears']
>8
>>>> fruitbasket['grapes']
>5
>###
>
>
>Play around with dictionaries more, and you should see how to use them to
>make your program run well.
>
>
>The solution with eval() that you found does work, but it is, well...
>truthfully speaking, very nonstandard... *grin* Dictionaries are a
>concept in almost all programming languages, whereas eval() is not so
>widespread. You'll get better mileage out of understanding dictionaries.
>
>
>Good luck to you!
>
>
More information about the Tutor
mailing list