[英]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.