> > My question is:
> > (1) why root is always {}?
>
> Because that's what you bind it to in the line
>
> > ... root = root.setdefault(ch,{})
>
> See <https://docs.python.org/dev/library/stdtypes.html#dict.setdefault>
> for a description of the the setdefault() method.
I'm still confused here. root.setdefault(ch,{}) should return {'a':{}}, right?
then this dictionary is referenced by root by "root = root.setdefault(ch,{})".
why root is an empty dictionary now?
>
> > (2) why tree is {'a': {'b': {'c': {}}}}?
>
> Basically the same answer -- you bind root to the innermost dict and that's
> where you insert the ch key on the next iteration of the for loop
> .
> > (3) why root isn't the same as tree? shouldn't they be the same because
> > tree is argument passed as root?
>
> You should know the answer by now ;)
In fact i'm still confused by these answers. Could you please described more?
thanks
--
https://mail.python.org/mailman/listinfo/python-list