NameError指出字典不存在,但确实存在

时间:2018-07-19 00:32:07

标签: python numpy list-comprehension nameerror

在Spyder的变量浏览器中,存在一个名为ctl_exp_info的字典,以及一个通道名称列表

chsort = 
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24']

在调试模式下,以下语句起作用:

for ch in chsort:
    print(np.array([ctl_exp_info[sensor][ch][0][0]]]))

但是列表理解版本会抛出NameError

srm = np.array([ctl_exp_info[sensor][ch][0][0] for ch in chsort])
*** NameError: name 'ctl_exp_info' is not defined

我在任何地方都没有将'1'误写为'l'。

如果我查看dir()的结果,则ctl_exp_info会出现在名称空间中。 知道为什么会发生这种情况以及如何解决吗?

Windows上的Python 3.6.5,Spyder 3.2.8。

0 个答案:

没有答案