problem with nested dictionaries
Brian Quinlan
brian at sweetapp.com
Thu Oct 3 00:42:19 EDT 2002
> However, when I print out the list, the objects which I inserted under
> C2-object '3', appear to have been inserted in the other objects as
> well.
>
> What am I doing wrong (just started with python)
>
> I am using Python 2.2
>
>
> #<< begin snip
>
> class C1:
> class_C1_name = ""
> def __init__(self, n):
> self.class_C1_name = n
>
> class C2:
> class_C2_name = ""
> a_list = {}
> def __init__(self, n):
> self.class_C2_name = n
>
The problem is that a_list is scoped at the class level, not the
instance level i.e. every C2 will share the same "a_list".
You can fix that:
class C2:
class_C2_name = ""
def __init__(self, n):
self.a_list = {}
self.class_C2_name = n
Cheers,
Brian
More information about the Python-list
mailing list