我想要一个当前由我的 Python 解释器管理的所有 numpy 数组的集合。以前的答案表明 gc.get_objects()
应该为我做这件事。但是我没有得到预期的结果:
In [1]: import numpy as np
In [2]: import gc
In [3]: x = np.ones(5)
In [4]: any(item is x for item in gc.get_objects())
Out[4]: False
有没有办法获取当前实例化的所有已知 NumPy 数组(或任何类型的对象)?
最佳答案
这不是一个完美的答案,但根据this stackoverflow post您可以使用locals()
获取所有本地声明变量的字典。
然后,您可以使用简单的字典理解来获取所有已知的 NumPy 数组:
import numpy as np
np_arrays = {k:v for k,v in locals().items() if isinstance(v, np.ndarray)}
之后您可以按照自己喜欢的方式迭代字典。
关于python - 列出当前 Python 解释器中所有已知的 NumPy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37041957/