Python3 AttributeError: 'list' object has no attribute 'clear'

41,870

list.clear was added in Python 3.3.

Citing the Mutable Sequence Types section in the documentation:

New in version 3.3: clear() and copy() methods.

s.clear() removes all items from s (same as del s[:])

See the issue #10516 for the relevant discussion and alternative ways of clearing lists. In summary, it is the same as del l[:] and l[:] = [].

Share:
41,870

Related videos on Youtube

oranJess
Author by

oranJess

Updated on July 09, 2022

Comments

  • oranJess
    oranJess almost 2 years

    I am working on a Linux machine with Python version 3.2.3. Whenever I try to do list.clear() I get an exception

    >>> 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'
    

    At the same time on my Mac with Python 3.4.3 the same code runs smoothly. Can it be due to the difference between Python versions or is there something I'm missing?

  • dav1d
    dav1d over 8 years
    Just adding that you can use del l[:] instead.
  • oranJess
    oranJess over 8 years
    Thanks! @dav1d Thanks, yes, that's what I did.