2024-04-19 00:33:04 发布
网友
在Python中,尝试使用循环对列表执行最基本的append函数: 不确定我在这里缺少什么:
a=[] for i in range(5): a=a.append(i) a
返回: 'NoneType' object has no attribute 'append'
'NoneType' object has no attribute 'append'
不需要赋值,list.append(x)将始终将x附加到a中,因此不需要重新定义a。
list.append(x)
x
a
a = [] for i in range(5): a.append(i) print(a)
是你所需要的。这是因为lists是可变的。
list
另请参见docs on data structures。
无需重新分配。
a=[] for i in range(5): a.append(i) a
list.append函数不返回任何值(但是None),它只是将值添加到用于调用该方法的列表中。
list.append
None
在第一轮循环中,您将把None(因为append没有返回)分配给a,然后在第二轮循环中,它将尝试调用a.append,因为a is None它将引发您看到的异常
append
a.append
a is None
你只需要把它改成:
a=[] for i in range(5): a.append(i) a # the list with the new items.
编辑:正如Juan在评论中所说,它确实返回了一些东西,None
不需要赋值,
list.append(x)
将始终将x
附加到a
中,因此不需要重新定义a
。是你所需要的。这是因为
list
s是可变的。另请参见docs on data structures。
无需重新分配。
list.append
函数不返回任何值(但是None
),它只是将值添加到用于调用该方法的列表中。在第一轮循环中,您将把
None
(因为append
没有返回)分配给a
,然后在第二轮循环中,它将尝试调用a.append
,因为a is None
它将引发您看到的异常你只需要把它改成:
编辑:正如Juan在评论中所说,它确实返回了一些东西,
None
相关问题 更多 >
编程相关推荐