[Tutor] about tree input

Zachary Ware zachary.ware+pytut at gmail.com
Sun Apr 22 12:42:04 EDT 2018


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 劉權陞 <01patrickliu at 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 at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>


More information about the Tutor mailing list