我有一个清单:
list1=[]
Run Code Online (Sandbox Code Playgroud)
列表的长度是未确定的,所以我试图将对象附加到list1的末尾,如下所示:
for i in range(0, n):
list1=list1.append([i])
Run Code Online (Sandbox Code Playgroud)
但是我的输出一直给出这个错误:AttributeError:'NoneType'对象没有属性'append'
这是因为list1作为空列表开始吗?我该如何解决这个错误?
And*_*ffe 62
append实际上改变了列表.此外,它需要一个项目,而不是一个列表.因此,你所需要的只是
for i in range(n):
list1.append(i)
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,请注意您可以使用range(n),在这种情况下.)
我假设您的实际使用更复杂,但您可以使用列表理解,这对于此更加pythonic:
list1 = [i for i in range(n)]
Run Code Online (Sandbox Code Playgroud)
或者,在这种情况下,在Python 2.x range(n)中实际上创建了您想要的列表,尽管在Python 3.x中,您需要list(range(n)).
append返回 None,因此在第二次迭代时,您将调用appendNoneType 的方法。只需删除分配:
for i in range(0, n):
list1.append([i])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
192292 次 |
| 最近记录: |