为什么在Python中向列表中追加元素会引发NoneType错误?
为什么在Python中向列表中追加元素会引发NoneType错误?
这个问题已经有了答案:
为什么这些列表方法(append、sort、extend、remove、clear、reverse)返回的是无结果而不是返回结果列表?
这是我的代码:
text="""col1 col2 col3 a 1 $ b 2 @ c 3 & """ mList = [] for line in text.splitlines(): for item in line.split(" "): mList = mList.append(item)
这引发了错误,\'NoneType\' object has no attribute \'append\'
。我尝试了其他方法来创建列表和执行这个操作,但最好的结果是列表变成了None
。这里到底发生了什么?
admin 更改状态以发布 2023年5月21日
list.append
并没有返回值(返回的是None
),它只是把元素添加到了列表中。
>>> lst = [] >>> return_value_of_append = lst.append('something') >>> return_value_of_append is None True
因此,下面这一行代码使得mList
变成了None
:
mList = mList.append(item)
将上面的代码替换为下面这行可以解决问题:
mList.append(item)