On Sat, Aug 4, 2012 at 12:28 PM, Alonzo Quijote
<[email protected]> wrote:
> Is there a way to define a function which takes
> a list (of lists),
> a position specified by a list of integers [i0,i1,...,in], and
> a value
> and returns the result of setting
> list[i0][i1]...[in]=value
>
> The following function works for positions up to length 3 only.
> Is it possible to write a general function that does this?
>
> def setValueAtPosition(list,pos,value):
> if len(pos)==1:
> list[pos[0]]=value
> elif len(pos)==2:
> list[pos[0]][pos[1]]=value
> elif len(pos)==3:
> list[pos[0]][pos[1]][pos[2]]=value
> return list
Something like this, should work :
def setValueAtPosition(my_list, pos, value):
sub_list = my_list
for i in pos[:-1]:
sub_list = sub_list[i]
sub_list[pos[-1]] = value
return my_list
-- Puneeth
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor