我试图反复在列表的末尾添加对象,如下所示:
list1 = []
n = 3
for i in range(0, n):
list1 = list1.append([i])
但是我得到一个错误,比如: AttributeError: 'NoneType' object has no attribute 'append'。这是因为 list1开始时是一个空列表吗?如何修复此错误?
这个问题特别关于如何修复问题并正确地附加到列表中。在原始代码中,使用循环时会出现报告的错误,因为 .append第一次返回 None。对于返回的 为什么None(底层设计决策) ,请参阅 为什么这些列表操作返回 Nothing,而不是结果列表?。
如果你有一个 IndexError从试图分配到一个索引刚刚超过一个列表的末尾-这是不工作的,你需要的 .append方法代替。有关更多信息,请参见 为什么这个迭代列表增长代码给 IndexError: list 赋值索引超出了范围?如何重复向列表中添加元素?。
如果要多次附加 一样值,请参见 Python: 将条目附加到列表 N 次。