web-dev-qa-db-fra.com

Python3 AttributeError: l'objet 'list' n'a pas d'attribut 'clear'

Je travaille sur une machine Linux avec Python version 3.2.3. Chaque fois que j'essaie de faire list.clear() j'obtiens une 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'

En même temps sur mon Mac avec Python 3.4.3 le même code fonctionne correctement. Cela peut-il être dû à la différence entre les versions Python ou y a-t-il quelque chose Je manque?

13
oranJess

list.clear A été ajouté dans Python 3.3.

Citant la section Mutable Sequence Types dans la documentation:

Nouveau dans la version 3.3 : méthodes clear() et copy().

s.clear() supprime tous les éléments de s (comme del s[:])

Voir numéro # 10516 pour la discussion pertinente et les moyens alternatifs d'effacer les listes. En résumé, c'est la même chose que del l[:] Et l[:] = [].

21
vaultah