generator expression works in shell, NameError in script
Emile van Sebille
emile at fenx.com
Wed Jun 17 18:27:32 EDT 2009
On 6/17/2009 3:19 PM ssc said...
> Hello,
>
> I am trying to generate this list of tuples:
> [(0, ''), (1, 'Dr'), (2, 'Miss'), (3, 'Mr'), (4, 'Mrs'), (5, 'Ms')]
>
> My code works fine in the Python shell:
>
>>>> titles = ['Dr', 'Miss', 'Mr', 'Mrs', 'Ms',]
>>>> title_choices = [(0, '')] + list((titles.index(t)+1, t) for t in titles)
>>>> title_choices
> [(0, ''), (1, 'Dr'), (2, 'Miss'), (3, 'Mr'), (4, 'Mrs'), (5, 'Ms')]
>
> The same code run in a script fails with
> NameError: global name 'titles' is not defined
You get this because titles doesn't exist in the builtin, local or
global namespaces.
Post the code that fails. It's hard to debug working code. :)
Emile
>
> Does anybody know why ? How can I fix the error ?
>
> Thank you very much :-)
>
> Steve
More information about the Python-list
mailing list