私はファイルにこのコードを持っています
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 <module>
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 <setcomp>
{(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 インタープリターに直接貼り付けると、エラーなしで実行されるように見えることです...
編集:これは、セット内包表記ではなくリスト内包表記を使用すると機能します