如何追加到空列表的末尾?

2024-03-29 09:11:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个清单:

list1=[]

列表的长度尚未确定,因此我正尝试将对象附加到列表1的末尾,如下所示:

for i in range(0, n):

    list1=list1.append([i])

但是我的输出一直给出这个错误:attribute error:'NoneType'对象没有属性'append'

这是因为list1以空列表开头吗?如何修复此错误?


Tags: 对象in列表for属性错误rangeattribute
3条回答

append实际上改变了列表。此外,它需要一个项,而不是一个列表。因此,你只需要

for i in range(n):
   list1.append(i)

(顺便说一下,注意在本例中可以使用range(n)。)

我认为你的实际使用更为复杂,但你也许可以使用列表理解法,这更符合Python理论:

list1 = [i for i in range(n)]

或者,在本例中,在Python 2.x中range(n)实际上已经创建了您想要的列表,尽管在Python 3.x中,您需要list(range(n))

你不需要作业操作员。append不返回任何值。

append返回None,因此在第二次迭代中,您将调用NoneType的方法append。只需删除分配:

for i in range(0, n):
    list1.append([i])

相关问题 更多 >