python - 我不明白错误消息'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' 对象不可迭代'
我不明白为什么会这样?
解决方案
看看这一行:
sublist = sublist.insert(len(sublist), i+1)
insert
函数确实插入并返回None
,所以在这里进行下一次迭代
the_list.extend(sublist)
sublist
是None
whileextend
函数需要可迭代参数。固定代码:
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]
推荐阅读
- php - 如何在 Windows 上的 Eclipse 中安装 PHP Xdebug?
- python-3.x - AttributeError:“列表”对象没有属性“超时”
- node.js - 更新 formik.values 时需要 Formik 奇数 (.value)
- python - SQLAlchemy 从 JSON 列表插入数据库
- python - 使用 Python 使用一个时间序列来预测另一个(不均匀间隔)
- c - 为什么函数局部变量和参数被推入堆栈?
- jquery - Bootstrap 4 悬停时更改选项卡
- c++ - 链接器找不到在虚拟类 C++ 中访问的静态字段的符号
- couchdb - 如何获取附件的子集
- powerbi - Power BI 根据切片器选择计算 MAX