Python 带有 if 语句意外结果的嵌套循环
Python nested loops with if statements unexpected result
我想弄清楚为什么这段代码的执行方式与我预期的不同。
代码是:
for i1 in [xrange(567)]:
W = x1[i1]
Z = y[i1]
ZW = np.array([z * (1/w) for z, w in zip(Z,W)])
for j1 in [xrange(567)]:
if j1 != i1:
E1 = np.array([z - zw * w for z, zw, w in zip(Z,ZW,W)])
其中 x1 是 (566,1) 数组,y 是 .csv 文件中的 (566,2) 数组。
现在我认为语句 if j1 != i1:
不能像预期的那样工作,因为如果我尝试更简单的模式:
for i in [range(567)]:
for j in [range(567)]:
if i != j:
print i
print j
有returns无
您的代码需要修改:
for i in range(567):
for j in range(567):
# do something here.
正如评论者所提到的,省略 for
循环行中的方括号。
我想弄清楚为什么这段代码的执行方式与我预期的不同。 代码是:
for i1 in [xrange(567)]:
W = x1[i1]
Z = y[i1]
ZW = np.array([z * (1/w) for z, w in zip(Z,W)])
for j1 in [xrange(567)]:
if j1 != i1:
E1 = np.array([z - zw * w for z, zw, w in zip(Z,ZW,W)])
其中 x1 是 (566,1) 数组,y 是 .csv 文件中的 (566,2) 数组。
现在我认为语句 if j1 != i1:
不能像预期的那样工作,因为如果我尝试更简单的模式:
for i in [range(567)]:
for j in [range(567)]:
if i != j:
print i
print j
有returns无
您的代码需要修改:
for i in range(567):
for j in range(567):
# do something here.
正如评论者所提到的,省略 for
循环行中的方括号。