Bilakah Memori Tambahan Diperuntukkan dalam Tugasan Array NumPy?

Linda Hamilton
Lepaskan: 2024-10-22 10:25:30
asal
604 orang telah melayarinya

When Is Additional Memory Allocated in NumPy Array Assignment?

Tugasan Numpy Array: Perbezaan Peruntukan Memori

Dalam NumPy, terdapat tiga cara biasa untuk menetapkan nilai kepada tatasusunan:

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

B = A

Apabila anda menggunakan B = A, anda tidak mencipta tatasusunan baharu. Sebaliknya, anda sedang mengikat nama baharu (B) pada tatasusunan sedia ada (A). Akibatnya, sebarang pengubahsuaian yang dibuat pada satu tatasusunan akan dicerminkan dalam tatasusunan yang lain.

B[:] = A

Sintaks ini mencipta tatasusunan baharu B dengan dimensi dan nilai yang sama seperti A. Tatasusunan asal A tidak diubah suai. Kaedah ini memerlukan kurang peruntukan memori berbanding numpy.copy.

numpy.copy(B, A)

Kaedah ini tidak sah seperti yang anda tulis. Ia sepatutnya B = numpy.copy(A). numpy.copy mencipta tatasusunan baharu B dengan dimensi dan nilai yang sama seperti A. Kaedah ini memerlukan lebih banyak peruntukan memori berbanding B[:] = A kerana ia mencipta salinan fizikal data yang berasingan daripada tatasusunan asal.

Bilakah Memori Tambahan Diperuntukkan?

Memori tambahan diperuntukkan apabila anda menggunakan numpy.copy untuk mencipta salinan fizikal baharu tatasusunan. Ini kerana ia memperuntukkan blok memori bersebelahan baharu untuk data yang disalin.

Bilakah Memori Tidak Diperuntukkan?

Memori tidak diperuntukkan apabila anda menggunakan B = A kerana anda hanya menamakan semula tatasusunan asal. Memori juga tidak diperuntukkan apabila anda menggunakan B[:] = A kerana ia menggunakan semula lokasi memori yang sama seperti tatasusunan asal.

Atas ialah kandungan terperinci Bilakah Memori Tambahan Diperuntukkan dalam Tugasan Array NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!