John O'Hagan <resea...@johnohagan.com> writes: > I have a lot of repetitive assignments to make, within a generator, > that use a function outside the generator: > > var1 = func("var1", args) > var2 = func("var2", args) > var3 = func("var3", args) > etc... > > In each case the args are identical, but the first argument is a > string of the name being assigned. It works fine but I'd like to > reduce the clutter by doing the assignments in a loop. I've tried > using exec(): > > for name in name_string_list: > exec(name + ' = func(\"' + name + '\", args)') > > but in the local namespace it doesn't understand func(), and if I give > it globals() it doesn't understand the args, which come from within > the generator. > > What's a good way to do this kind of thing?
Your problem is describe in too vague a way to get good answers IMHO. Are var1, var2, ... globals or local to the generator? Can you give some sample code to show what doesn't work? -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list