在for循环中列出append()
在Python中,尝试对具有循环的列表执行最基本的追加功能:不知道我在这里缺少什么:
a=[]for i in range(5):
a=a.append(i)
a
返回: 'NoneType' object has no attribute 'append'
回答:
该list.append
函数不返回任何值(而是None
),它只是将值添加到用于调用该方法的列表中。
在第一个循环中,您将分配None
(由于不返回append
)给a
,然后在第二个循环中,它将尝试调用a.append
,因为a isNone
它将引发您看到的Exception
您只需要将其更改为:
a=[]for i in range(5):
a.append(i)
print(a)
# [0, 1, 2, 3, 4]
list.append
这就是所谓的 变异或破坏性 方法,即它将破坏或变异先前的对象成为一个新的(或新的状态)。
如果您想基于一个列表创建一个新列表而不破坏或更改它,则可以执行以下操作:
a=['a', 'b', 'c']result = a + ['d']
print result
# ['a', 'b', 'c', 'd']
print a
# ['a', 'b', 'c']
仅作为必然结果,您可以append
通过执行以下操作来模仿该方法:
a=['a', 'b', 'c']a = a + ['d']
print a
# ['a', 'b', 'c', 'd']
以上是 在for循环中列出append() 的全部内容, 来源链接: utcz.com/qa/433330.html