[Tutor] How to load a dict into a dict subclass?
Christian Witts
cwitts at compuscan.co.za
Tue Oct 27 13:45:28 CET 2009
Modulok wrote:
> List,
>
> I'm new to the list, (somewhat new to python too). My code feels
> hacky. I'd like to know if there is a more eloquent way (more below).
> If not, a general thumbs up from more experienced programmers would be
> great!
>
> Assume I have a dict, 'foo'. I also have my own class, 'Bar', which
> subclasses (i.e. is a derived class) of a dict. How do I eloquently
> get foo into an instace of Bar? Example:
>
>
> ### BEGIN CODE:
> class Bar(dict):
> pass # Act like a dict for now.
>
> foo = {'a': 100, 'b': 200, 'c': 300} # This could be a function return value.
> myvar = Bar()
> # The hacky feeling part:
> for k,v in foo.items(): myvar[k] = v
>
> ### END CODE
>
> Obviously I can put the dict into an instance variable, but then
> methods like 'keys()' and such won't work. If that makes any sense...
>
> Thanks guys!
> -Modulok-
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
>
You can use the built-in function for dictionaries called update. So
>>> class Bar(dict):
>>> pass
>>> foo = {'a':100, 'b':200, 'c': 300}
>>> myvar = Bar()
>>> myvar.update(foo)
>>> myvar
{'a': 100, 'c': 300, 'b': 200}
--
Kind Regards,
Christian Witts
More information about the Tutor
mailing list