2015-08-17 12 views
9

Ich arbeite an einem Linux-Rechner mit Python Version 3.2.3. Immer wenn ich versuche list.clear() zu tun, erhalte ich eine AusnahmePython3 AttributeError: 'list' Objekt hat kein Attribut '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' 

Zur gleichen Zeit auf meinem Mac mit Python 3.4.3 der gleiche Code reibungslos läuft. Kann es an den Unterschieden zwischen Python-Versionen liegen oder fehlt mir etwas?

Antwort

14

list.clear wurde in Python 3.3 hinzugefügt.

Unter Berufung auf den Mutable Sequence Types Abschnitt in der Dokumentation:

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

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

Siehe issue #10516 für die entsprechende Diskussion und alternative Möglichkeiten der Listen zu löschen. Zusammenfassend ist es das gleiche wie del l[:] und l[:] = [].

+5

Einfach hinzufügen, dass Sie 'del l [:]' stattdessen verwenden können. – dav1d

+0

Danke! @ dav1d Danke, ja, das habe ich gemacht. – oranJess