Tôi cần tạo một mảng NumPy có độ dài n
, mỗi phần tử là v
.
Có điều gì tốt hơn:
a = empty(n)
for i in range(n):
a[i] = v
Tôi biết zeros
và ones
sẽ làm việc cho v = 0, 1. Tôi có thể sử dụng v * ones(n)
, nhưng nó sẽ không hoạt động khi sẽ chậm hơn nhiều.v
có None
, và cũng
v * ones(n)
vẫn còn kinh khủng, vì nó sử dụng phép nhân đắt tiền. Thay thế *
bằng +
mặc dù, và v + zeros(n)
hóa ra là tốt đáng ngạc nhiên trong một số trường hợp ( stackoverflow.com/questions/5891410/ ích ).
var = np.empty(n)
và sau đó điền nó với 'var [:] = v'. (btw, np.full()
nhanh như thế này)
a = np.zeros(n)
trong vòng lặp nhanh hơna.fill(0)
. Điều này trái ngược với những gì tôi mong đợi vì tôi nghĩa=np.zeros(n)
sẽ cần phân bổ và khởi tạo bộ nhớ mới. Nếu bất cứ ai có thể giải thích điều này, tôi sẽ đánh giá cao nó.