Robert Berman wrote:
Hi,
Given a list of options: option_1.......option_n. For each option I have
a corresponding function: func_1..... func_n. I have all function names
defined in a list similar to flist = [func_1, func_2,.......func_n]
which I know is a legitimate construct having found a similar construct
discussed by Kent Johnson in 2005.
What I do not know how to do is to call the selected function. If the
index of options is 1, then I want to call func_2; do I code
flist[index]? I do not think Python has a branch indirect construct so I
cannot use anything similar to that methodology. What is the best
approach to take to solve this problem?
Functions in python is first-class object. It can be passed around like
regular objects, and can be put into lists like regular objects.
opts = [opt1, opt2, opt3]
funcs = [func1, func2, func3]
for f, o in zip(funcs, opts):
f(o)
funcs[1](o[0]) # equivalent to func2(opt1)
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor