Basically what you want to do here is give Tree a local name (d), loop
through T reassigning d to d[k_from_T], and then d[k] = v after the loop. T
can be arbitraily long, and Tree can actually be and contain any indexable
type.

If this pointer isn't enough to send you in the right direction, I'll try
to actually write an example when I have a real keyboard in front of me :)

--
Zach
(Top-posted in HTML from a phone)

On Sun, Apr 22, 2018, 08:54 劉權陞 <01patrick...@gmail.com> wrote:

> To deposit a nodes in the tree (adding a new node), for example: put 3: {}
> in the Tree branch at branch tuple (2, 4, 1, 5) .
> If don't use :
> def f(T,k,v):
>     m=len(T)
>     if m==0:
>         Tree[k]=v
>     elif m==1:
>         Tree[T[0]][k]=v
>     elif m==2:
>         Tree[T[0]][T[1]][k]=v
>     elif m==3:
>         Tree[T[0]][T[1]][T[2]][k]=v
>     elif m==4:
>         Tree[T[0]][T[1]][T[2]][T[3]][k]=v
>     elif m==5:
>         Tree[T[0]][T[1]][T[2]][T[3]][T[4]][k]=v
>     ...
>
> f( (2, 4, 1, 5),3,{})
>
> Is there a dynamic approach(the node tuple can be any length)
> I want to create a function like f(branch_tuple,key,value)
>
> Tree = {1: {2: {3: {...}, 4: {...}, ...}, 3: {2: {...}, 4: {...}, ...}, 4:
> {2: {...}, 3: {...}, ...}, ...}, 2: {1: {...}, 3: {...}, 4: {...}, ...}, 3:
> {...}, 4: {...}, ...}
>
> *(... indicates omission)
> * (Node tuple represent one of the branches)
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to