help with recursion on GP project

none "trades\" at (none)
Sun Jan 14 14:32:28 EST 2007


I'm trying to create a recursive function to evaluate the expressions 
within a list.  The function uses eval() to evaluate the list.  Like a 
lisp interpreter but very limited.
What I'm looking for is a function to recursively traverse the list and 
provide answers in place of lists, so that ...
Example = ['add', ['sub', 5, 4], ['mul', 3, 2]]
Becomes:    Example = ['add', 1, 6]
Becomes:    Example = 7
*Functions are defined in the script

The code I currently have, which isn't pretty (bottom), doesn't work 
because it doesn't return the value of the evaluated list.  But I can't 
figure out how to do that.  Any help would be greatly appreciated.

Jack Trades


def recursive(tree):
   if type(tree[1]) != type([]) and type(tree[2]) != type([]):
     eval(a[0]+'('+str(tree[1])+','+str(tree[2])+')')
   if type(tree[2]) == type([]):
     recursive(tree[2])
   if type(tree[1]) == type([]):
     recursive(tree[1])



More information about the Python-list mailing list