NameError во вложенных представлениях [duplicate]
На этот вопрос уже есть ответ здесь:
Доступ к переменным класса из списка понимания в определении класса 5 ответовУ меня есть этот код в файле
class Sudoku(dict):
COLUMNS = [
{(x, y) for y in xrange(9)} for x in xrange(9)
]
Когда я бегуpython broken.py
Я получаю трассировку:
Traceback (most recent call last):
File "U:\broken.py", line 1, in
class Sudoku(dict):
File "U:\broken.py", line 3, in Sudoku
{(x, y) for y in xrange(9)} for x in xrange(9)
File "U:\broken.py", line 3, in
{(x, y) for y in xrange(9)} for x in xrange(9)
NameError: global name 'x' is not defined
[Finished in 0.1s with exit code 1]
Я неЯ действительно не вижу здесь проблемы. неx
определяется в понимании?
Какие'Странно, как это выполняется без ошибок при вставке прямо в интерпретатор Python ...
РЕДАКТИРОВАТЬ: Это работает, если я использую понимание списка, а не заданное понимание