我做了
x = np.linspace(0, 1 , 10)
y = np.sin(x)
np.savez('xy_values', x_vals=x, y_vals=y)
w = np.load('xy_values.npz')
但是现在w.keys()
给了我以下内容:
KeysView(<numpy.lib.npyio.NpzFile object at
有什么想法吗?
答案 0 :(得分:0)
在最近的 numpy 版本中,
list(w.keys())
它有效! :)
经过测试的 numpy 版本:1.19.2
答案 1 :(得分:0)
您对 w.keys()
的调用会返回一个可迭代对象,该对象可让您访问键。但是,此对象未实现 __str__
或 __repr__
方法,因此在打印时不会产生有用的输出。
由于对象是可迭代的,你可以通过迭代对象来打印结果,如下所示。
for k in w.keys():
print(k)
函数 list
和 tuple
可以分别将任何可迭代对象转换为列表和元组。因此,
print(list(w.keys())) # or
print(tuple(w.keys()))
打印所需的键。在交互式环境中,例如 IPython 或 Jupyter,您可以省略对打印的调用以获得相同的结果。