如何使用 .keys( ) 在 .npz 文件中显示 .npy 文件的名称
how to show .npy files' name in a .npz file, using .keys( )
我使用 .keys() 查看 .npz 文件中的 .npy 文件:
a1 = np.arange(5)
a2 = np.arange(6)
np.savez('zip1.npz', file1 = a1, file2 = a2)
data2 = np.load('zip1.npz')
data2.keys()
输出:
KeysView(<numpy.lib.npyio.NpzFile object at 0x0000016D49CA9F10>)
我在其他地方看到 .keys() 输出 .npy 文件的名称:
np.savez('x.npz', a = array1, b = array2)
data = np.load('x.npz')
data.keys()
有了这个输出:
['b','a']
这是为什么?
谢谢!
In [223]: d = np.load('data.npz')
In [224]: d
Out[224]: <numpy.lib.npyio.NpzFile at 0x7f93fae26040>
keys()
在 dict
或类似字典的对象上生成 'view',可用于迭代,或用 list
扩展。这种行为在 Py3 中很普遍。
In [225]: d.keys()
Out[225]: KeysView(<numpy.lib.npyio.NpzFile object at 0x7f93fae26040>)
In [226]: list(d.keys())
Out[226]: ['fone', 'nval']
迭代:
In [228]: for k in d.keys():
...: print(k, d[k])
fone ['t1' 't2' 't3']
nval [1 2 3]
另一种常见情况:
In [229]: range(3)
Out[229]: range(0, 3)
In [230]: list(range(3))
Out[230]: [0, 1, 2]
我使用 .keys() 查看 .npz 文件中的 .npy 文件:
a1 = np.arange(5)
a2 = np.arange(6)
np.savez('zip1.npz', file1 = a1, file2 = a2)
data2 = np.load('zip1.npz')
data2.keys()
输出:
KeysView(<numpy.lib.npyio.NpzFile object at 0x0000016D49CA9F10>)
我在其他地方看到 .keys() 输出 .npy 文件的名称:
np.savez('x.npz', a = array1, b = array2)
data = np.load('x.npz')
data.keys()
有了这个输出:
['b','a']
这是为什么? 谢谢!
In [223]: d = np.load('data.npz')
In [224]: d
Out[224]: <numpy.lib.npyio.NpzFile at 0x7f93fae26040>
keys()
在 dict
或类似字典的对象上生成 'view',可用于迭代,或用 list
扩展。这种行为在 Py3 中很普遍。
In [225]: d.keys()
Out[225]: KeysView(<numpy.lib.npyio.NpzFile object at 0x7f93fae26040>)
In [226]: list(d.keys())
Out[226]: ['fone', 'nval']
迭代:
In [228]: for k in d.keys():
...: print(k, d[k])
fone ['t1' 't2' 't3']
nval [1 2 3]
另一种常见情况:
In [229]: range(3)
Out[229]: range(0, 3)
In [230]: list(range(3))
Out[230]: [0, 1, 2]