鉴于我的interleave
功能如下:
def interleave(L1, L2):
if len(L1) == 1:
return [L1[0], L2[0]]
else:
return [L1[0], L2[0]].extend(interleave(L1[1:], L2[1:]))
为什么会产生错误builtins.TypeError: 'NoneType' object is not iterable
?
答案 0 :(得分:2)
在:
return [L1[0], L2[0]].extend(interleave(L1[1:], L2[1:]))
.extend(
返回None
,因为它会改变其对象。
使用:
return [L1[0], L2[0]] + interleave(L1[1:], L2[1:])
或者:
l = [L1[0], L2[0]]
l.extend(interleave(L1[1:], L2[1:]))
return l