0

z [i] = 1 /(1 + i)となるようにnumpyにベクトルzを作成する必要があります。以下のコードでそれを行うより速い方法はありますか?

import numpy as np
n = 10000
z = np.zeros(n)
for i in xrange(n):
    z[i] = 1.0/(1 + i)
4

2 に答える 2

3

最速の方法:

z = 1.0/np.arange(1, n+1)
于 2012-10-09T18:53:08.287 に答える
0

どうですか:

z = np.arange(n)
z = 1/(1+z)
于 2012-10-09T18:51:18.817 に答える