HOWTO · Python
Eliminar el primer elemento de una lista en Python
Este tutorial demuestra cómo eliminar el primer elemento de una lista en Python.
En esta página
Para quitar el primer elemento de una lista de Python y modificar esa misma lista, llama a items.pop(0) o usa del items[0]. El índice 0 corresponde a la primera posición. Usa items[1:] si necesitas una lista nueva que omita esa posición; usa remove(value) solo si sabes qué valor quieres eliminar.
Usa pop(0) para quitar el primer elemento de la lista original
pop(0) quita el elemento del índice 0 de la lista original y lo devuelve. Es útil cuando el código posterior necesita tanto el valor eliminado como la lista actualizada. Si llamas a pop() sin indicar un índice, se quita el último elemento.
Ejecuta este ejemplo:
El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.
items = ["red", "green", "blue"]
removed = items.pop(0)
print(removed)
print(items)
La lista original cambia, así que otras variables que hagan referencia a la misma lista también reflejan la eliminación. Al quitar un elemento del principio de una lista de Python, los elementos restantes se desplazan una posición hacia el inicio; si vas a quitar elementos del principio muchas veces, considera usar un deque.
Usa del para quitar el primer elemento de la lista original
Usa del items[0] si quieres quitar el elemento de la primera posición, pero no necesitas obtener el valor eliminado. Al igual que pop(0), modifica la lista original, pero del es una instrucción y no devuelve ningún elemento.
El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.
items = ["red", "green", "blue"]
del items[0]
print(items)
Usa remove() solo para eliminar por valor
items.remove(value) busca el primer elemento que sea igual a value y elimina esa coincidencia. No significa «eliminar el elemento del índice 0». Si ya conoces el primer valor, pásalo directamente. Si hay valores duplicados, solo se elimina la primera coincidencia.
Por ejemplo, si items es ["red", "green", "red"], entonces items.remove("red") deja ["green", "red"]. Si no conoces el primer valor, pero quieres quitar el elemento de la primera posición, usa pop(0) o del items[0]. Una lista vacía no tiene un primer valor que puedas pasar a remove().
Usa el corte de listas si necesitas una lista nueva sin el primer elemento
items[1:] crea una lista nueva con todos los elementos desde el índice 1 hasta el final. No modifica la lista original. Asigna el resultado de nuevo a items si quieres que esa variable haga referencia a la lista obtenida mediante el corte:
El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.
items = ["red", "green", "blue"]
remaining = items[1:]
print(remaining)
print(items)
El corte no especifica un índice final porque, de forma predeterminada, Python usa el final de la lista. El resultado es una copia superficial: la lista externa es nueva, pero los objetos mutables que contiene siguen siendo compartidos.
Usa numpy.delete() para trabajar con un arreglo NumPy
Para un arreglo NumPy unidimensional, numpy.delete(array, 0) devuelve un arreglo nuevo sin el valor del índice 0; no modifica el arreglo de entrada. Con un arreglo multidimensional, el valor predeterminado axis=None aplana el arreglo antes de eliminar el elemento. Por tanto, indica un eje si quieres quitar una fila o una columna: por ejemplo, numpy.delete(array, 0, axis=0) devuelve un arreglo nuevo sin la primera fila. Esta función requiere NumPy y opera sobre arreglos; no es un método de las listas de Python. Úsala si tus datos ya son un arreglo, en lugar de convertir una lista común para eliminar un solo elemento.
Usa deque.popleft() si vas a quitar elementos del principio repetidamente
Si una cola necesita quitar repetidamente elementos por el principio, collections.deque ofrece popleft(). Este método quita y devuelve el elemento situado en el extremo izquierdo. Un deque está diseñado para operar eficientemente en ambos extremos, mientras que quitar el primer elemento de una lista desplaza los elementos restantes. Para quitar una sola vez un elemento de una lista común, pop(0) o del items[0] es más sencillo; convierte la lista en un deque si el resto del flujo de trabajo se beneficia de las operaciones de cola.