为什么我会收到此错误(NoneType)?

时间:2018-02-25 22:18:35

标签: python

我知道有NoneType错误的帮助论坛。但是为了爱我,我无法保存我的编码。

counter=0
agesList=[]
for line in database:
    newlist=database[counter].split(',')
    counter=counter+1
    age=newlist[-2]
    agesList=agesList.append(age)
    #print(age)
print(agesList)

我有一个逗号分隔值的文档,我将它们全部拆分到自己的列表中,然后取出我在newlist的倒数第二个位置查找的数字。如果我打印年龄,我会在整个循环中逐个获得所有正确的年龄。但如果我尝试将所有年龄数字附加到我的空白列表中,我会收到此错误:

agesList=agesList.append(age)
AttributeError: 'NoneType' object has no attribute 'append'

我可以获得一些帮助,说明我收到此错误的原因吗?感谢

2 个答案:

答案 0 :(得分:2)

您正在为列表分配功能调用,这就是您覆盖列表的原因。

不要这样做:

agesList=agesList.append(age)

只需这样做:

agesList.append(age)

答案 1 :(得分:1)

而不是..=仅使用agesList=agesList.append(age)

因为agesList.append(age)会返回list.append()并覆盖您的列表。

因此,在NoneagesList之后,你的for循环的第一次迭代会正常运行,你会得到你提到的错误。