hua*_*hao 0 python dictionary numpy scipy
我试图从.matscipy的文件加载一些数据io.loadmat().该函数基本上返回一个包含文件中所有数据的字典.如果我只想从数据文件中获取一个值,我可以做类似的事情val_a = io.loadmat(filename)['val_a'].但现在我想取出2个值.我还能用一个命令实现这个目标吗?或者我是否必须首先将字典分配给变量然后逐个获取这两个值?
喜欢
raw_data = io.loadmat(filename)
val_a = raw_data['val_a']
val_b = raw_data['val_b']
Run Code Online (Sandbox Code Playgroud)
但我正在寻找的是类似的东西
val_a, val_b = io.loadmat(filename)['val_a', 'val_b']
通过这样做,我希望避免占用我记忆的文件中不必要的数据.
你说
通过这样做,我希望避免占用我记忆的文件中不必要的数据
如果您的目标是避免阅读您不感兴趣的文件的一部分,那么告诉SciPy不要通过提供一个variable_names参数说明要读取哪些部分来阅读这些部分:
raw_data = scipy.io.loadmat(filename, variable_names=['val_a', 'val_b'])
val_a = raw_data['val_a']
val_b = raw_data['val_b']
Run Code Online (Sandbox Code Playgroud)
在不使用的情况下variable_names,你可以做的最好的事情就是在解压缩你感兴趣的部分后摆脱对dict的引用,让Python回收内存:
raw_data = scipy.io.loadmat(filename)
val_a = raw_data['val_a']
val_b = raw_data['val_b']
del raw_data
Run Code Online (Sandbox Code Playgroud)
没有语法可以一次从dict中提取两个值.
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |