首页 > 解决方案 > 我不明白错误消息'NoneType' object is not iterable in python

问题描述

def make_list_of_lists(n):
    the_list = []
    sublist = []
    for i in range(n):
        print(sublist)
        the_list.extend(sublist)
        sublist = sublist.insert(len(sublist), i+1)
    return the_list

我收到此函数的错误消息,即:

'NoneType' 对象不可迭代'

我不明白为什么会这样?

标签: pythonlisttypeerror

解决方案


看看这一行:

sublist = sublist.insert(len(sublist), i+1)

insert函数确实插入并返回None,所以在这里进行下一次迭代

the_list.extend(sublist)

sublistNonewhileextend函数需要可迭代参数。固定代码:

def make_list_of_lists(n):
    the_list = []
    sublist = []
    for i in range(n):
        print(sublist)
        the_list.extend(sublist)
        sublist.insert(len(sublist), i + 1)
    return the_list

make_list_of_lists(3)

[]

[1]

[1, 2]

[1, 1, 2]


推荐阅读