On 6/17/2009 3:54 PM ssc said...
Wow! Didn't expect that kind of instant support. Thank you very much, I'll give both zip and enumerate a try.The code I've shown is actually copied pretty straight from a Django form class, but I didn't want to mention that as not to dilute the conversation. Don't think it matters, anyway. This is the relevant excerpt: from django.forms import Form class SignupForm(Form): titles = ['Dr', 'Miss', 'Mr', 'Mrs', 'Ms',] title_choices = [(0, '')] + list((titles.index(t)+1, t) for t in titles) Now that I look at it again, it seems odd to me to not have the code e.g. in __init__(...), but just 'class-global'.
And as class is an executable statement, I imagine titles exists in a namespace that hasn't yet been completely defined.
Still, that does not seem a reason for titles not to be not defined, as I do define it just in the line above.
Well, again, titles will exists in the SignupForm namespace once it exists, which it doesn't yet when you get to title_choices and want to access it. Define titles above the class and you should be OK.
Does the generator expression have its own little namespace or so ?
Sometimes -- in some python versions generator expressions leak... Emile -- http://mail.python.org/mailman/listinfo/python-list
