该
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']
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)