[英]Is there a difference between adding a scalar to a vector inside a for loop and outside it, using numpy?
我試圖在替換此代碼段的 for 循環時利用 Python 的 Broadcasting 屬性:
import numpy as np
B = np.random.randn(10,1)
k = 25
for i in range(len(B)):
B[i][0]= B[i][0] + k
有了這個:
for i in range((lenB)):
B=B+k
我觀察到我得到了不同的結果。 當我在循環外嘗試時,B = B+k,給出了與我期望的 B[i][0] = B[i][0] + k 相同的結果
為什么會這樣? 廣播在循環內是否遵循不同的規則?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.