de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 mrgloom
mrgloom
Question

Numpy array tugas dengan copy

Sebagai contoh, jika kita memiliki numpy array A, dan kami ingin numpy array B dengan elemen yang sama.

Apa perbedaan antara berikut (lihat di bawah) metode? Ketika adalah memori tambahan yang dialokasikan, dan kapan tidak?

  1. B = A
  2. B[:] = A (sama seperti B[:]=A[:]?)
  3. numpy.copy(B, A)
85 2013-10-30T07:44:25+00:00 3
AGN Gazer
AGN Gazer
Pertanyaan edit 7 Desember 2018 в 10:30
Pemrograman
arrays
python
numpy
Solution / Answer
 Blckknght
Blckknght
30 Oktober 2013 в 7:59
2013-10-30T07:59:38+00:00
Lebih
Sumber
Sunting
#22663078

Semua tiga versi yang melakukan hal-hal yang berbeda:

  1. B = A

Ini mengikat sebuah nama baru B untuk objek yang ada sudah bernama A. Setelah itu mereka mengacu pada objek yang sama, jadi jika anda mengubah satu di tempat, anda'll melihat perubahan melalui yang lain juga.

  1. B[:] = A (sama seperti B[:]=A[:]?)

Ini salinan nilai dari A ke dalam sebuah array yang ada B. Dua array harus memiliki bentuk yang sama untuk bekerja. B[:] = A[:] melakukan hal yang sama (tapi B = A[:] akan melakukan sesuatu yang lebih seperti 1).

  1. numpy.copy(B, A)

Ini bukan hukum sintaks. Anda mungkin berarti B = numpy.copy(A). Ini hampir sama dengan 2, tapi itu menciptakan sebuah array baru, daripada menggunakan kembali B array. Jika tidak ada referensi lain untuk sebelumnya B nilai, hasil akhirnya akan sama dengan 2, tapi itu akan menggunakan lebih banyak memori untuk sementara selama proses salinan.

Atau mungkin yang anda maksud numpy.copyto(B, A), yang merupakan hukum, dan setara dengan 2?

 Blckknght
Blckknght
Jawaban edit 7 Desember 2018 в 9:41
105
0
 Mailerdaimon
Mailerdaimon
30 Oktober 2013 в 7:52
2013-10-30T07:52:53+00:00
Lebih
Sumber
Sunting
#22663077
  1. B=A menciptakan sebuah referensi
  2. B[:]=A membuat salinan
  3. numpy.copy(B,A) membuat salinan

dua terakhir memerlukan memori tambahan.

Untuk membuat dalam salinan yang anda butuhkan untuk menggunakan B = copy.deepcopy(A)

 Mailerdaimon
Mailerdaimon
Jawaban edit 17 Mei 2018 в 11:15
27
0
 Woeitg
Woeitg
14 September 2016 в 4:18
2016-09-14T16:18:31+00:00
Lebih
Sumber
Sunting
#22663079

Ini adalah satu-satunya jawaban kerja untuk saya:

B=numpy.array(A)
8
0
Related communities 6
Python Indonesia
Python Indonesia
24 686 pengguna
Programmer Python Indonesia. Group ini dikelola oleh sejumlah admin. Baca pesan tersemat / pinned message: https://t.me/pythonID/217588
Buka telegram
Indonesian Python Warriors
Indonesian Python Warriors
1 462 pengguna
Di grup ini tidak ada kewajiban untuk menggunakan username dan foto. Yang tidak boleh adalah spamming. Gak boleh baper, kalau nanya yang bener, eror jangan difoto pake HP, gunakan screenshot, code copas ke pastebin.com lalu share link ke sini.
Buka telegram
Python-ID Jogja
Python-ID Jogja
962 pengguna
Buka telegram
BASIC PYTHON INDONESIA
BASIC PYTHON INDONESIA
214 pengguna
Buka telegram
Python Newbie Indonesia
Python Newbie Indonesia
180 pengguna
Peraturan grup Python Newbie 🌻Dilarang spam 🌻Dilarang menggunakan bahasa kasar 🌻Dilarang beriklan di grup tanpa seizin admin Beberapa video dasar python dapat diliat melalui channel youtube juan aditya Jangan lupa untuk subscribe ya🙏
Buka telegram
PythonWealth Indonesia 🇮🇩
PythonWealth Indonesia 🇮🇩
29 pengguna
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 1 hari yang lalu
2
Akshit Mehta
Terdaftar 4 hari yang lalu
3
me you
Terdaftar 1 minggu yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi