Python3 属性错误:'list'对象没有'clear'属性。

20
我正在一台安装有Python版本3.2.3的Linux机器上工作。 每当我尝试使用list.clear()时,会出现异常。
>>> l = [1, 2, 3, 4, 5, 6, 7]
>>> l.clear()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'clear'

我在我的Mac上使用Python 3.4.3时,同样的代码可以顺利运行。这是由于Python版本之间的差异还是我遗漏了什么?

1个回答

29

list.clear 在 Python 3.3 版本中新增。

引用文档中的 可变序列类型 章节:

3.3 新版功能:增加了 clear()copy() 方法。

s.clear() 会移除 s 中的所有元素(等价于 del s[:])。

参见 issue #10516 中的相关讨论和清空列表的其他方式。总体而言,它与 del l[:]l[:] = [] 的效果相同。


8
可以补充一下,你可以使用del l[:]来代替。 - dav1d
@dav1d 谢谢,是的,我就是这么做的。 - oranJess

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接