On Jul 17, 10:05 am, mk <[EMAIL PROTECTED]> wrote: > > def f2(arg): > > return "f2 "+arg > > > def f1(arg): > > return "f1 "+arg > > > a={"1":"f1","2":"f2"} > > print [eval(x[1])(x[0]) for x in a.items()] > > def f2(arg): > > return "New f2 "+arg > > print [eval(x[1])(x[0]) for x in a.items()] > > Neat trick, if probably dangerous in some circumstances. Anyway, thanks, > I didn't think of that. > > > Don't know if this is any use to you.. > > At least I learned something. :-)
You want consistent access to a changing variable. Wrap it in an object: >>> a= Blank( ) >>> a.ref= 'X' >>> a.ref 'X' >>> b= a >>> b.ref 'X' >>> a.ref= 'Y' >>> b.ref 'Y' >>> -- http://mail.python.org/mailman/listinfo/python-list