2024-03-29 09:11:59 发布
网友
我有一个清单:
list1=[]
列表的长度尚未确定,因此我正尝试将对象附加到列表1的末尾,如下所示:
for i in range(0, n): list1=list1.append([i])
但是我的输出一直给出这个错误:attribute error:'NoneType'对象没有属性'append'
这是因为list1以空列表开头吗?如何修复此错误?
append实际上改变了列表。此外,它需要一个项,而不是一个列表。因此,你只需要
append
for i in range(n): list1.append(i)
(顺便说一下,注意在本例中可以使用range(n)。)
range(n)
我认为你的实际使用更为复杂,但你也许可以使用列表理解法,这更符合Python理论:
list1 = [i for i in range(n)]
或者,在本例中,在Python 2.x中range(n)实际上已经创建了您想要的列表,尽管在Python 3.x中,您需要list(range(n))。
list(range(n))
你不需要作业操作员。append不返回任何值。
append返回None,因此在第二次迭代中,您将调用NoneType的方法append。只需删除分配:
for i in range(0, n): list1.append([i])
append
实际上改变了列表。此外,它需要一个项,而不是一个列表。因此,你只需要(顺便说一下,注意在本例中可以使用
range(n)
。)我认为你的实际使用更为复杂,但你也许可以使用列表理解法,这更符合Python理论:
或者,在本例中,在Python 2.x中
range(n)
实际上已经创建了您想要的列表,尽管在Python 3.x中,您需要list(range(n))
。你不需要作业操作员。append不返回任何值。
append
返回None,因此在第二次迭代中,您将调用NoneType的方法append
。只需删除分配:相关问题 更多 >
编程相关推荐