这是对我的程序的简化,我很难理解错误发生的原因以及解决方案。TypeError:覆盖旧值时'NoneType'对象不可迭代
def test(n=0):
a = [];
b = [];
if n == 0:
return a,b
else:
a.append(1);
b.append(2);
for i in range(0,2):
x,y = test(i)
x和y必须在每次迭代有不同的值,但由于功能在一个点返回无再后来就是了overvwrite它,它会得到崩溃并出现错误“类型错误” - 有没有干净的解决方案,尽管使用某种尝试抓住machnism?
下面的代码让程序运行,但它感觉像滥用了早期设计错误的try-catch机制。
def test(n=0):
a = [];
b = [];
if n == 0:
return a,b
else:
a.append(1);
b.append(2);
for i in range(0,2):
try:
x,y = test(i)
except TypeError:
continue;
'test'不返回任何 –
SRY这是一个复制和粘贴错误 – Kev1n91
此外,你应该放下半错误冒号,它们在您的示例中不起任何作用。在Python中,当您想要在同一行分隔多个指令时使用它们。 – Qrom