On Sunday 27 January 2008 09:45, Steven D'Aprano wrote: > I have a problem which I think could be solved by using a dict as a > namespace, in a similar way that exec and eval do. > > When using the timeit module, it is very inconvenient to have to define > functions as strings. A good alternative is to create the function as > normal, and import it: > > def myfunc(x, y): > return x+y > > timeit.Timer("myfunc(59, 60)", "from __main__ import myfunc").timeit() > > > Not only is this an easy idiom to follow, but myfunc can live in another > module: just replace __main__ with the module name. > > Now, I'm trying to build a suite of tests to use with timeit. I have a > bunch of tests which I've created as dicts: > > test_suite= [dict(x=59, y=60), dict(x=-1, y=-2)] This is probably the wrong answer: test_suite = [(59,60),(-1,-2)] for test in test_suite: x,y = test Then do the magic with x and y - Hendrik
-- http://mail.python.org/mailman/listinfo/python-list