¿Cómo vaciar una lista en Python?


Answers

Si tiene Python 3.3 o superior, puede usar el método de list clear() que es paralelo a clear() de dict , set , deque y otros tipos de contenedores mutables:

alist.clear()  # removes all items from alist (equivalent to del alist[:])

Según la página enlazada, lo mismo también se puede lograr con alist *= 0 .

Question

Parece tan "sucio" vaciar una lista de esta manera:

while len(alist) > 0 : alist.pop()

¿Existe una manera clara de hacer eso?




resulta que con python 2.5.2, del l[:] es un poco más lento que l[:] = [] por 1.1 usec.

$ python -mtimeit "l=list(range(1000))" "b=l[:];del b[:]"
10000 loops, best of 3: 29.8 usec per loop
$ python -mtimeit "l=list(range(1000))" "b=l[:];b[:] = []"
10000 loops, best of 3: 28.7 usec per loop
$ python -V
Python 2.5.2



list = []

restablecerá la list a una lista vacía.

Tenga en cuenta que, en general, no debe sombrear nombres de funciones reservados, como list , que es el constructor para un objeto de lista; podría usar list_ o list_ en list_ lugar, por ejemplo.