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?
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()
etcopy()
.
s.clear()
supprime tous les éléments des
(commedel 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[:] = []
.