Getting "NameError: name not defined" when accessing previously defined variables
Getting "NameError: name not defined" when accessing previously defined variables
我在最后一个 if 语句中收到 NameError: name 'index1' 未定义 。我不明白是什么问题,因为我在前面的代码块中定义了 index1 和 index2。
...
else:
for l1 in Xdisp_list:
for l2 in l1:
if l2 == from_previous[run_number-2]:
index1 = (wn_final.index(l1))
index2 = (wn_final[wn_final.index(l1)].index(l2))
else:
pass
if w_ki - Xdisp_list[index1][index2] < delta:
code_list_run.append(0)
...
澄清代码:
Xdisp_list是列表的列表
run_number是一个整数
wn_final也是列表的列表
你在 if else 语句中定义了 index1 和 index2,所以 if 语句
l2 == from_previous[run_number-2]
评估为 False
当评估行 w_ki - Xdisp_list[index1][index2] < delta
时,两者都不会被定义,
您可以在第一个 if 语句中添加第二个 if 语句,或者像这样定义默认值 index1 和 index2,在这种情况下不再需要 else 语句
else:
for l1 in Xdisp_list:
for l2 in l1:
if l2 == from_previous[run_number-2]:
index1 = (wn_final.index(l1))
index2 = (wn_final[wn_final.index(l1)].index(l2))
if w_ki - Xdisp_list[index1][index2] < delta:
code_list_run.append(0)
我在最后一个 if 语句中收到 NameError: name 'index1' 未定义 。我不明白是什么问题,因为我在前面的代码块中定义了 index1 和 index2。
...
else:
for l1 in Xdisp_list:
for l2 in l1:
if l2 == from_previous[run_number-2]:
index1 = (wn_final.index(l1))
index2 = (wn_final[wn_final.index(l1)].index(l2))
else:
pass
if w_ki - Xdisp_list[index1][index2] < delta:
code_list_run.append(0)
...
澄清代码:
Xdisp_list是列表的列表
run_number是一个整数
wn_final也是列表的列表
你在 if else 语句中定义了 index1 和 index2,所以 if 语句
l2 == from_previous[run_number-2]
评估为 False
当评估行 w_ki - Xdisp_list[index1][index2] < delta
时,两者都不会被定义,
您可以在第一个 if 语句中添加第二个 if 语句,或者像这样定义默认值 index1 和 index2,在这种情况下不再需要 else 语句
else:
for l1 in Xdisp_list:
for l2 in l1:
if l2 == from_previous[run_number-2]:
index1 = (wn_final.index(l1))
index2 = (wn_final[wn_final.index(l1)].index(l2))
if w_ki - Xdisp_list[index1][index2] < delta:
code_list_run.append(0)