Listas en python: como borrar datos de una lista

Listas en python: como borrar datos de una lista
 Python: Borrar Items en una lista

Hoy veremos Listas en Python: como borrar datos de una lista

Es sabido que en el lenguaje python es posible modificar el contenido de una lista fácilmente y a discreción, el contenido de una lista puede ser cambiado por varias razones y en diversas ocasiones, algunos ejemplos de cuando se hace necesaria la modificación de una lista son:

Actualización de datos

eliminar o agregar nuevos items (elementos)...

Existen dos formas de eliminar el contenido de una lista, ya que en ocasiones puede ser poco viable el eliminar elementos mediante el
índice y es mucho mas facil hacerlo mediante el valor directo del
propio item (esto puede servir cuando el script tenga interacción
con algún usuario que no conozca el indice pero si el item)

Índice

1 Eliminar datos mediante el Index

1.1 El metodo .pop():

Este es un método estándar de python que nos permite eliminar un
item pasando por argumento el valor “index” que este tiene dentro
de la lista a modificar.

Este posee una sintaxis bastante sencilla y limpia, en donde anterior
al punto se nombra la lista y posterior a este se aplica el método y
a continuación se encierra en paracentesis el valor index del item:
“lista.pop(index)” (sin las comillas)

Ejemplo:

numeros=[1,2,3,4,5]
#Declaramos la variable números que contiene la lista con los items: “1,2,3,4,5”

numeros.pop(2)
#aplicamos el método .pop al elemento con índice 2(en este caso el numero”3”)

dentro de la lista números

print n

#nos dará como resultado : “1,2,4,5”

1.2 Función del():

Es similar a .pop pero tiene como principal diferencia que este no devuelve el valor que a sido eliminado, su sintaxis tal y como veremos a continuación también dista del anterior método.

Cuando utilizamos la función “del()” pasamos por argumento la lista y el índice del valor a eliminar;

del(lista[indice])

Ejemplo:

numeros=[1,6,3,2,5]

del(numeros[3])

# Le indicamos a “del” que dentro de la lista “numeros” elimine el valor con índice “3”, cuyo efecto es que el numero 2 de dicha lista quede borrado.

print numeros

#Imprimimos en pantalla la lista numeros, lo cual nos arroja el resultado

“1.6.3.5”

2 Eliminar Datos mediante Item

2.1 Método .remove():

Este método aunque posee una sintaxis similar a la del método .pop, tiene por diferencia que recibe por argumento el item a eliminar y NO el índice del mismo, por lo que es efectivo cuando se desea eliminar una entrada en concreto que bien podría ser un nombre, numero o cualquier otro; por lo cual debemos tener cuidado de ingresar el valor especifico a eliminar y no la posición del mismo.

Ejemplo:

nombres=[Adrian, Pedro, Andrea, Marcela]

nombres.remove(“Adrian”)
#eliminamos el Item “Adrian” de la lista “nombres”

print nombres #Imprimimos en pantalla: “Pedro, Andrea, Marcela.”

Cabe mencionar que este método elimina un elemento de la lista si y solo si este es real, es decir; si el elemento que deseas borrar no existe, este deja la lista intacta.

Si conoces algún otro método o función para eliminar datos de una lista, puedes enriquecer este articulo y llenarlo de mas conocimiento, así que no dudes en comentarlo.

dcaraballo

Creador de @PythonDiario, amante de la Tecnología y la Naturaleza. Programador Python, C# . NET

  1. Roberto Torres Morales dice:

    Hola,

    Comentario random:
    Siempre he tenido problemas intentando eliminar objetos dentro de un arreglo usando remove. Generalmente tengo que utilizar un par de condiciones parar eliminar utilizando el índice(del o pop) en donde se encuentra el objeto.

    1. Unknown dice:

      Te has asegurado de pasar por argumento el nombre del ítem a eliminar y no su posición?
      Si quieres puedes compartir un ejemplo y lo resolvemos juntos.

  2. Unknown dice:

    Hola esto que hice me da una lista de nombres a como los voy entrando, pero si entro nombres repetidos como los puedo eliminar?

    def main():

    x = int(input("Cuantos nombres quieres ingresar?: "))
    lista = []
    for i in range(x):
    a = raw_input("Ingresa el nombre: ")
    lista.append(a)
    return lista
    print main()

    1. PythonDiario dice:

      Hola Ivonne, gracias por visitar el blog. ¿Quieres que los nombres no se repitan? Si es eso, se me ocurre que antes de agregar el elemento a la lista puedas verificar que ya no esté de la siguiente manera:

      def main():

      x = int(input("Cuantos nombres quieres ingresar?: "))
      lista = []
      for i in range(x):
      a = raw_input("Ingresa el nombre: ")

      if a not in lista:
      lista.append(a)

      return lista

      print main()

      Saludos

  3. Anónimo dice:

    Hay alguna manera de que, teniendo una serie de enteros, al querer imprimirlos solo me imprima algunos? es decir, como hago para que python exceptúe un entero en un range?

    1. PythonDiario dice:

      Hola como estas? no se si solucionaste, pero me imagino que con un for y un if puedes solucionar tu problema. Ha no ser que sea más complejo!!!
      Saludos

    2. Anónimo dice:

      Hola, que tal? exacto, lo resolví con un for y un if, muchas gracias!! Excelente sitio 🙂

    3. PythonDiario dice:

      Excelente!!!
      Gracias por visitar el blog!!!

  4. Anónimo dice:

    ¿Cómo elimino varios elementos de una lista con strings, es que hacerlo uno por uno se ve más complicado, quiero borrar una lista de otra que contiene los mismos elementos?

  5. Anónimo dice:

    ¿Cómo se puede eliminar de una misma lista todos los valores repetidos?

    Por ejemplo: Lista=[0,1,2,3,0,1,2,3,0,0,2] y que el resultado sea [0,1,2,3]?

    ¿Y si quisiera que tan solo eliminara todos los 0 de la lista?

    Muchas gracias!

    1. PythonDiario dice:

      Hola, para eliminar los duplicados puedes utilizar set(lista), es la forma más sencilla.

      Para la segunda pregunta, podrías recorrer la lista con un for y si el elemento evaluado es 0 lo borra de la lista.

      Saludos

  6. Unknown dice:

    Consulta se podría borrar un elemento de 2 listas por ejemplo
    Lista=[a, b, c, d]
    Lista2=[a, b, c, d]

    Letra = input("Ingrese letra a eliminar: ")
    lista.remove(letra)
    Pero que la letra ingresada se borre de ambas listas?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey