Python 检查是否有足够的内存分配我的变量
假设我有一个非常大的图G,我想找到距离矩阵,它只是一个二维数组。在此之前,我想确保有足够的内存来分配我的二维数组。如果内存不足,则引发内存错误。我不想浪费数小时计算距离矩阵,最终得到一个内存错误。为此目的使用numpy是一个很好的实践。可以肯定的是,numpy数组使用的内存比标准列表少,可以控制用于权重的数据类型,实现了很多矩阵操作,如果您试图分配太大的数组,则会出现异常Python 检查是否有足够的内存分配我的变量,python,memory,graph-theory,Python,Memory,Graph Theory,假设我有一个非常大的图G,我想找到距离矩阵,它只是一个二维数组。在此之前,我想确保有足够的内存来分配我的二维数组。如果内存不足,则引发内存错误。我不想浪费数小时计算距离矩阵,最终得到一个内存错误。为此目的使用numpy是一个很好的实践。可以肯定的是,numpy数组使用的内存比标准列表少,可以控制用于权重的数据类型,实现了很多矩阵操作,如果您试图分配太大的数组,则会出现异常 >>> a = numpy.empty((100, 100)) >>> a = nump
>>> a = numpy.empty((100, 100))
>>> a = numpy.empty((100000000, 1000000000))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
>>a=numpy.empty((100100))
>>>a=numpy.empty((100000000,100000000))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
记忆者
谢谢。我想尝试一下,但我想知道是否有一种方法可以在python中实现这一点,而不需要任何其他依赖项。我们可以使用例如malloc这样的C语言分配器吗?不,我知道。标准工作是使用容器(列表、目录)。容器可以分配其空间(例如,[None]*1000,创建包含1000个元素的列表,所有元素都设置为None),但无法保证其元素将使用多少内存。我认为numpy数组是最接近C的,这是使用“标准”库可以得到的。