Diferentes formas de borrar listas
¿Hay alguna razón para hacer algo más complicado que una de estas dos líneas cuando desea borrar una lista en Python?
old_list = []
old_list = list()
La razón por la que pregunto es que acabo de ver esto en un código en ejecución:
del old_list[ 0:len(old_list) ]
Borrar una lista existente afectará a todas las demás referencias de la misma lista.
Por ejemplo, este método no afecta a otras referencias:
>>> a = [1, 2, 3]
>>> b = a
>>> a = []
>>> print(a)
[]
>>> print(b)
[1, 2, 3]
Pero este sí:
>>> a = [1, 2, 3]
>>> b = a
>>> del a[:] # equivalent to del a[0:len(a)]
>>> print(a)
[]
>>> print(b)
[]
>>> a is b
True
También puedes hacer:
>>> a[:] = []
Hacerlo alist = []
no borra la lista, simplemente crea una lista vacía y la vincula a la variable alist
. La lista anterior seguirá existiendo si tuviera otras vinculaciones de variables.
Para borrar una lista in situ , puede utilizar cualquiera de estas formas:
alist.clear() # Python 3.3+, most obvious
del alist[:]
alist[:] = []
alist *= 0 # fastest
Consulte la página de documentación sobre tipos de secuencias mutables para obtener más detalles.
Existe una forma muy sencilla de borrar una lista de Python. Usar del list_name[:]
.
Por ejemplo:
>>> a = [1, 2, 3]
>>> b = a
>>> del a[:]
>>> print a, b
[] []