Tugasan Numpy Array dengan Salin
Pengenalan
Apabila berurusan dengan tatasusunan Numpy, adalah penting untuk memahami bagaimana tugasan mempengaruhi data. Artikel ini meneroka perbezaan antara tiga kaedah tugasan: B = A, B[:] = A dan numpy.copy(B, A), menangani apabila memori tambahan diperuntukkan dan apabila ia tidak.
B = A
Tugasan ini hanya mengikat nama baharu (B) pada objek Numpy sedia ada (A). Kedua-dua nama merujuk kepada objek yang sama, jadi sebarang pengubahsuaian di tempat kepada satu akan ditunjukkan pada yang lain. Tiada memori tambahan diperuntukkan.
B[:] = A (Bersamaan dengan B[:]=A[:])
Operasi ini menyalin nilai daripada A ke dalam tatasusunan sedia ada B. Bentuk B dan A mesti sepadan. Tiada memori tambahan diperuntukkan kerana tatasusunan B sedia ada digunakan semula.
numpy.copy(B, A)
Sintaks ini tidak betul. Sintaks yang betul ialah B = numpy.copy(A), yang mencipta tatasusunan baharu yang mengandungi salinan A. Tatasusunan B asal tidak digunakan semula, dan oleh itu, memori tambahan diperuntukkan semasa menyalin data.
numpy.copyto(B, A)
Tugasan ini bersamaan dengan B[:] = A. Ia menyalin nilai daripada A ke B, menimpa data sedia ada. Jika terdapat ruang yang mencukupi dalam B, tiada memori tambahan diperuntukkan; jika tidak, tatasusunan baharu dicipta dan memori tambahan diperuntukkan.
Atas ialah kandungan terperinci Memahami Tugasan Numpy Array: Bilakah Memori Baharu Diperuntukkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!