Saya perlu membuat array NumPy dengan panjang n
, yang masing-masing elemen v
.
Adakah yang lebih baik dari:
a = empty(n)
for i in range(n):
a[i] = v
Saya tahu zeros
dan ones
akan bekerja untuk v = 0, 1. Aku bisa menggunakan v * ones(n)
, tetapi tidak akan bekerja ketika akan jauh lebih lambat.v
adalahNone
, dan juga
v * ones(n)
masih mengerikan, karena menggunakan perkalian yang mahal. Ganti *
dengan +
meskipun, dan v + zeros(n)
ternyata sangat bagus dalam beberapa kasus ( stackoverflow.com/questions/5891410/… ).
var = np.empty(n)
dan kemudian mengisinya dengan 'var [:] = v'. (Btw, np.full()
secepat ini)
a = np.zeros(n)
dalam lingkaran lebih cepat daripadaa.fill(0)
. Ini bertentangan dengan apa yang saya harapkan karena saya pikira=np.zeros(n)
perlu mengalokasikan dan menginisialisasi memori baru. Jika ada yang bisa menjelaskan ini, saya akan sangat menghargainya.