我在Python 2.7.8(Anaconda Distribution)上运行,此代码失败。这看起来像Python实现中的一个错误,但我错过了什么吗?
class C:
x = {2 : 1}
y = {w for w in x if x[w]==1}
运行此代码会出现以下错误消息:
NameError:全局名称' x'未定义
错误信息对我来说似乎也不对。
请注意,以下两个非常相似的代码片段没有问题:
# this works fine:
class C:
x = {2 : 1}
y = [w for w in x if x[w]==1]
# this works fine too:
x = {2 : 1}
y = {w for w in x if x[w]==1}