为什么我的简单python列表在for循环中被重置为None?

时间:2016-07-28 20:41:01

标签: python

我遇到了一个大型程序中的错误,我已设法将其隔离到一个更简单的问题。我想添加一个列表

 kk=0
 flist=[]
 for key in range(5):
     if kk==0:
           flist=['w']
     else:
           print "flist*x*", flist
           flist=flist.append('s')
     kk=kk+1

换句话说,在kk = 0的第一次迭代中,列表应该已经初始化然后被追加。但是,我收到错误:

   flist=flist.append('s')
 AttributeError: 'NoneType' object has no attribute 'append'

我正在使用python 2.7

1 个答案:

答案 0 :(得分:1)

list.append的返回值为None。 Python将元素直接添加到调用它的列表对象中。您只需要调用函数而不是赋值给它的返回值:

flist.append('s')