在python中加载npz文件内容时发生NameError

在python中加载npz文件内容时发生NameError,python,numpy,load,list-comprehension,Python,Numpy,Load,List Comprehension,我正在尝试从npz文件加载numpy文件。当我尝试加载numpy文件时,我得到了NameError 下面是我们已经尝试过的。我从2个numpy文件的列表中创建了一个示例npz文件。我加载npz文件。我从npz文件中提取numpy文件。这就是我得到的namererror。我不确定我是否在列表理解方面出错,或者我加载npz文件的方式不正确 ipdb> data = [np.arange(8).reshape(4,2), np.arange(10).reshape(5,2)] ipdb>

我正在尝试从npz文件加载numpy文件。当我尝试加载numpy文件时,我得到了NameError

下面是我们已经尝试过的。我从2个numpy文件的列表中创建了一个示例npz文件。我加载npz文件。我从npz文件中提取numpy文件。这就是我得到的
namererror
。我不确定我是否在列表理解方面出错,或者我加载npz文件的方式不正确

ipdb> data = [np.arange(8).reshape(4,2), np.arange(10).reshape(5,2)]
ipdb> np.savez('mat.npz', *data)
ipdb> dat = np.load('mat.npz')
ipdb> ind = [dat[k] for k in dat.keys()]
我得到以下错误:
***name错误:未定义名称“dat”

我尝试了相同的代码,但没有出现任何错误

    import numpy as np
    data = [np.arange(8).reshape(4,2), np.arange(10).reshape(5,2)]
    np.savez('mat.npz', *data)
    dat = np.load('mat.npz')
    ind = [dat[k] for k in dat.keys()]
    print(ind)
输出:

 [array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7]]), array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])]

我猜这是IPython的问题。检查这篇文章

或者更具体地说是
ipdb
REPL,而不是常规的
IPython
REPL。您是否在没有调试器的情况下尝试过它?或者
list(dat.values())
?@hpaulj该代码在调试器之外工作,
ipdb>list(dat.values())
在参数“(dat.values())”中给出了一个错误
***错误。