为什么我得到“builtins.TypeError:'NoneType'对象不可迭代”?

时间:2014-11-18 05:39:38

标签: python

鉴于我的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

1 个答案:

答案 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