Anyone out there?

Criticism about the objective of my question, not just the execution,
gratefully received!

Basically, if I have a

    class This:
        def __init__(self, x, y):
            self.x=x
            self.y=y
            self.data = {}

and then make all my setitem and getitem calls refer to self.data; is it
sensible and right to be able to refer to self.data[n]?

Rory

On 15/02/05, Rory Campbell-Lange ([EMAIL PROTECTED]) wrote:
> Hi. I'm just starting to use python.
> 
> I am anxious about how best to set and access items one level down in a
> data structure if I am using __setitem__ and __getitem__.
> 
> At the moment I can do
> 
> for a data structure Data:
> 
>     object.Data = { 'one' : [1, 2, {}, 4],
>                     'two' : [5, 6, {}, 8]}
> 
> I can use normal __setitem__ and __getitem__ to address Data keys very
> easily
> 
> However, if I wish to access object.Data['one'][0] for instance, I am
> using the following:
> 
> object['three'] = [0, 'val0'] # set
> x =  object['three'][0]       # get
> 
> Is this advisable? I'm worried the syntax is very odd.
> 
> Extract from an example class:
> 
>       def __setitem__ (self,key,value): 
>               if type(value) == list and type(value[0]) == int:
>                       if key not in self.data:
>                               self.data[key] = {} 
>                       self.data[key][value[0]] = value[1]
>               else:
>                       self.data[key] = value
> 
>       def __getitem__ (self,key,value=None): 
>               if not value==None:
>                       return self.data[key][value]
>               else:
>                       return self.data[key]

-- 
Rory Campbell-Lange 
<[EMAIL PROTECTED]>
<www.campbell-lange.net>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to