Eu preciso criar uma matriz NumPy de comprimento n
, cada elemento do qual év
.
Existe algo melhor do que:
a = empty(n)
for i in range(n):
a[i] = v
Eu sei zeros
e ones
funcionaria para v = 0, 1. Eu poderia usar v * ones(n)
, mas não funcionará quando seria muito mais lento.v
for None
e também
v * ones(n)
ainda é horrível, pois usa a multiplicação cara. Substitua *
por +
, porém, e v + zeros(n)
se mostra surpreendentemente bom em alguns casos ( stackoverflow.com/questions/5891410/… ).
var = np.empty(n)
e preenchê-la com 'var [:] = v'. (aliás, np.full()
é tão rápido como este)
a = np.zeros(n)
no loop é mais rápido quea.fill(0)
. Isso é contrário ao que eu esperava, pois penseia=np.zeros(n)
que precisaria alocar e inicializar nova memória. Se alguém puder explicar isso, eu agradeceria.