Посмотрите на эту строку:
sublist = sublist.insert(len(sublist), i+1)
insert
функция вставляется на место и возвращает None
, поэтому на следующей итерации здесь
the_list.extend(sublist)
sublist
is None
, в то время как функция extend
требует итеративный параметр. Фиксированный код:
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]