[Tutor] Using a string to get at a Variable
isrgish at fusemail.com
Mon Jan 19 00:37:59 EST 2004
>From: "hcohen2"<hcohen2 at comcast.net>
>Sent: 1/18/04 9:29:03 PM
>To: "Isr Gish"<isrgish at fusemail.com>
>Cc: "Tutor"<tutor at python.org>
>Subject: Re: [Tutor] Using a string to get at a Variable
>Isr Gish wrote:
>>I'm trying to get the data from a variable using a string.
>>For example I have three variables named apples, grapes, pears. Then I have a list with these 3 names as strings.
>>Now I would like to do a loop on the list and getsthe data from each name.
>>Any help would be greatly appreciated.
>>Thanks in Advance
>>Tutor maillist - Tutor at python.org
>You are not very explicit on either on what you on working with nor the
>sort of object that contains the data you are seeking to extract, hence,
>I will just outline an example of my own design.
>Let's say you get you set of variables as a tuple: (var_1, var_2, ...,
>var_n) - I am going to assume these variables are names of lists. So I
>see no real need to convert them to strings. If that is indeed
>necessary, skip the entire discussion.
>names_tuple = (var_1, var_2, ..., var_n)
>len_tuple = len(names_tuple)
>for j in range(len_tuple):
> len_obj = len(var_j)
> for i in range(len_obj):
> value_of_obj(i) = var_i[i]
> print 'Show me the value of %s' %
> print var_i[i]
> # Or do whatever you have in mind, e.g.
>storing in a dictionary, etc.
> except ValueError, TypeError, diag: #
>regarding the errors I am guessing
> print str(diag)
> except TypeError, RangeError, diag:
> print str(diag)
>I am not sure how useful you will find this nor how close it is to
>solving the problem you are attacking - just recognize I am new at
>python. Moreover, I may miss the clues to the type of problem, since my
>specialty is databases and much of the discussion here leaves me a bit
>puzzled as to where they are being applied.
>In any case, I hope it helps a bit.
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.
More information about the Tutor