numpy 配列をパラメーターとして受け取る再帰関数を実装しました。ここに簡略化されたバージョンがあります:
def rec(arr):
rec(arr[indices])
すべての再帰呼び出しで、いくつかのインデックスでインデックス付けされた配列の一部を使用します。
私の質問はメモリ負荷に関するものです.Pythonはこれをどのように処理しますか? 各呼び出しで配列のコピーを作成しますか?
numpy 配列をパラメーターとして受け取る再帰関数を実装しました。ここに簡略化されたバージョンがあります:
def rec(arr):
rec(arr[indices])
すべての再帰呼び出しで、いくつかのインデックスでインデックス付けされた配列の一部を使用します。
私の質問はメモリ負荷に関するものです.Pythonはこれをどのように処理しますか? 各呼び出しで配列のコピーを作成しますか?
の性質によりindices
ます。スライスの場合、コピーはありません。一方、ファンシー インデックスを使用している場合は、コピーが作成されます。
NumPy チュートリアルのコピーとビューを読むことをお勧めします (このセクションでは高度なインデックス作成については説明していませんが)。