Eri*_*ric 16 python list-comprehension
我在一个文件中有这个代码
class Sudoku(dict):
COLUMNS = [
{(x, y) for y in xrange(9)} for x in xrange(9)
]
Run Code Online (Sandbox Code Playgroud)
当我跑步时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]
Run Code Online (Sandbox Code Playgroud)
我真的没有看到这里的问题.x理解中没有定义?
更奇怪的是,当直接粘贴到python解释器时,这似乎如何执行而没有错误...
编辑:如果我使用列表理解而不是集合理解,这是有效的