NameError表示字典不存在,但它确实存在

2024-05-17 13:53:08 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: ininfo列表for字典npsensorch