ホームページ >バックエンド開発 >Python チュートリアル >NumPy 配列の割り当てで追加のメモリが割り当てられるのはいつですか?

NumPy 配列の割り当てで追加のメモリが割り当てられるのはいつですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-22 10:25:30684ブラウズ

When Is Additional Memory Allocated in NumPy Array Assignment?

Numpy 配列の割り当て: メモリ割り当ての違い

NumPy では、配列に値を割り当てる一般的な方法が 3 つあります。

  • B = A
  • B[:] = A
  • numpy.copy(B, A)

B = A

B = A を使用する場合、新しい配列は作成されません。代わりに、新しい名前 (B) を既存の配列 (A) にバインドします。その結果、一方の配列に加えられた変更はもう一方の配列にも反映されます。

B[:] = A

この構文は、 A と同じ次元と値。元の配列 A は変更されません。このメソッドは、numpy.copy に比べて必要なメモリ割り当てが少なくて済みます。

numpy.copy(B, A)

このメソッドは、作成した時点では正当ではありません。 B = numpy.copy(A) である必要があります。 numpy.copy は、A と同じ次元と値を持つ新しい配列 B を作成します。この方法では、元の配列からデータの物理コピーを個別に作成するため、B[:] = A と比較してより多くのメモリ割り当てが必要になります。

追加メモリはいつ割り当てられますか?

追加メモリは、numpy.copy を使用して配列の新しい物理コピーを作成するときに割り当てられます。これは、コピーされたデータに新しい連続したメモリ ブロックが割り当てられるためです。

メモリが割り当てられないのはどのような場合ですか?

B = A を使用するとメモリが割り当てられません。元の配列の名前を変更しているだけだからです。 B[:] = A を使用する場合も、元の配列と同じメモリ位置が再利用されるため、メモリは割り当てられません。

以上がNumPy 配列の割り当てで追加のメモリが割り当てられるのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。