在Python中,尝试使用循环对列表执行最基本的追加功能: 不知道我在这里缺少什么:
a=[]
for i in range(5):
a=a.append(i)
a
返回:
'NoneType' object has no attribute 'append'
答案 0 :(得分:33)
list.append
函数不返回任何值(但是None
),它只是将值添加到用于调用该方法的列表中。
在第一轮循环中,您会将None
(因为append
无法返回)分配给a
,然后在第二轮中尝试调用a.append
},a is None
它会引发你正在发生的异常
您只需将其更改为:
a=[]
for i in range(5):
a.append(i)
a # the list with the new items.
编辑:正如胡安在评论中所说,它确实会返回一些内容,None
答案 1 :(得分:6)
您不需要作业,list.append(x)
会始终将x
追加到a
,因此无需重新定义a
。
a = []
for i in range(5):
a.append(i)
print(a)
就是你所需要的。这是有效的,因为list
是可变的。
答案 2 :(得分:3)
无需重新分配。
a=[]
for i in range(5):
a.append(i)
a