2つのnp.matrixがありますが、そのうちの1つは正規化しようとしています。私は一般的に、リストの補完はforループよりも速いので、私はdouble forループをリスト式に変換しようとしています。np行列のリスト理解
A = np.asarray([A/(B[i-1]/B[j-1]) for i, j in zip(range(1,q+1), range(1,q+1))])
が、私は任意のかなりの時間差が表示されませんので、私は間違ったアプローチを取っていると思う:
# normalize the rows and columns of A by B
for i in range(1,q+1):
for j in range(1,q+1):
A[i-1,j-1] = A[i-1,j-1]/(B[i-1]/B[j-1])
これは私がこれまでに得ているものです。
ご協力いただければ幸いです。
なぜリストの補完はループよりも一般に速いと思いますか?あなたが実際にあなたの理解にforループを使用することを考えると、 – ForceBru
本当に良いオプションがない限り、NumPy配列ではリスト内包*または* for forループを使用しないでください。 – user2357112
思考リストの解説は通常、すべての反復でリストとその追加メソッドを検索する必要がないため、forループよりも少し速いです。 – Callahan