在Python中递归期间使用内存

blu*_*fer 1 python memory recursion memory-management

我已经实现了一个递归函数,它将参数作为一个numpy数组.这里是简化版:

 def rec(arr):

     rec(arr[indices])
Run Code Online (Sandbox Code Playgroud)

在每次递归调用中,我都使用一些索引索引的数组的一部分.

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

NPE*_*NPE 5

这取决于性质indices.如果它是切片,则没有副本.另一方面,如果您使用花式索引,则会复制一份副本.

我建议在NumPy教程中阅读Copies和Views(尽管该部分不包括花哨的索引).