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 zerose onesfuncionaria para v = 0, 1. Eu poderia usar v * ones(n), mas não funcionará quando seria muito mais lento.vfor Nonee 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.