如何返回没有错误的列表? “ NoneType”错误

时间:2018-10-25 01:00:25

标签: python list

尝试创建一个累积函数,该函数返回出现次数为k的n值列表。

def create_list_accum(n,k,lst):
    if len(lst) == n:
    return lst
    return create_list_accum(n,k,lst.append(k))

def create_list(n,k):
    lst = []
    create_list_accum(n,k,lst)

我一直在获取一个builtins.TypeError:类型为“ NoneType”的对象没有len()。 为什么会这样呢?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

lst.append(k)不返回任何内容,因此当您将其作为create_list_accum(n,k,lst)参数传递到lst时,您的代码将尝试执行len(None)

尝试以下方法:

def create_list_accum(n,k,lst):
    if len(lst) == n:
        return lst

    lst.append(k)
    return create_list_accum(n,k,lst)