Iterate creating variables?

Jason Scheirer jason.scheirer at gmail.com
Fri Jun 13 15:29:09 EDT 2008


On Jun 13, 8:11 am, tda... at gmail.com wrote:
> I have twenty-five checkboxes I need to create (don't ask):
>
> self.checkbox1 = ...
> self.checkbox2 = ...
> .
> .
> .
> self.checkbox25 = ...
>
> Right now, my code has 25 lines in it, one for each checkbox, since
> these are all variables.
>
> Is there a way to write a loop so that I can have fewer lines of code
> but still keep the variables?
>
> I've tried:
>
> for o in xrange(25):
>     self.checkbox[o] = ...
>
> which didn't work, and
>
> for o in xrange(25):
>     self.checkbox[''%d'%(o)] = ...
>
> which also didn't work.
>
> Both give the error message: "Attribute error: Main.App has no
> attribute "checkbox"", which clearly indicates that I'm not keeping
> the "variability" aspect I want.
>
> Is there a way?
>
> I appreciate any and all answers!
>
> Thanks!

for x in xrange(1, 26):
  setattr(self, 'checkbox_%i' % x, ...)



More information about the Python-list mailing list