Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中递归期间的内存使用_Python_Memory_Memory Management_Recursion - Fatal编程技术网

Python中递归期间的内存使用

Python中递归期间的内存使用,python,memory,memory-management,recursion,Python,Memory,Memory Management,Recursion,我实现了一个递归函数,它以numpy数组作为参数。 以下是简化版本: def rec(arr): rec(arr[indices]) 在每次递归调用中,我使用数组的一部分,该部分由一些索引索引 我的问题是关于内存负载:python如何处理这个问题?它是否在每次调用时复制数组?这取决于索引的性质。如果是切片,就没有拷贝。另一方面,如果您正在使用,则会制作一份副本 我建议阅读NumPy教程(即使本节不涉及花哨的索引)。这取决于索引的性质。如果是切片,就没有拷贝。另一方面,如果您正在使

我实现了一个递归函数,它以numpy数组作为参数。 以下是简化版本:

 def rec(arr):

     rec(arr[indices])
在每次递归调用中,我使用数组的一部分,该部分由一些索引索引


我的问题是关于内存负载:python如何处理这个问题?它是否在每次调用时复制数组?

这取决于
索引的性质。如果是切片,就没有拷贝。另一方面,如果您正在使用,则会制作一份副本


我建议阅读NumPy教程(即使本节不涉及花哨的索引)。

这取决于
索引的性质。如果是切片,就没有拷贝。另一方面,如果您正在使用,则会制作一份副本


我建议您阅读NumPy教程(即使本节没有介绍奇妙的索引)。

我看不出递归与您的问题有任何关系。如果你使用循环,你认为内存使用会有所不同?@Bakuriu:我猜递归的相关性在于15级深度递归意味着有15段
arr
同时处于活动状态。对于迭代,情况可能是这样,也可能不是这样。但我同意这个问题似乎完全是关于
arr[index]
的内存使用,而不是关于递归本身。我看不出递归和你的问题之间有任何关系。如果你使用循环,你认为内存使用会有所不同?@Bakuriu:我猜递归的相关性在于15级深度递归意味着有15段
arr
同时处于活动状态。对于迭代,情况可能是这样,也可能不是这样。但我同意,这个问题似乎完全是关于
arr[index]
的内存使用,而不是递归本身。index是一个索引数组,索引一片arr。因此它不能正确复制?@johntropy:如果
index
的元素是整数,那就是奇特的索引,所以就制作了一个副本。索引是索引arr片段的索引数组。所以它不能正确地制作副本?@johntropy:如果
索引的元素是整数,那就是奇特的索引,所以就制作了一个副本。