Google+ Seguidores

jueves, 4 de febrero de 2016

Listas en python: borrar datos

    4

 Python: Borrar Items en 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)


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:
Números=[1,6,3,2,5]
del(Números[3])             # Le indicamos a “del” que dentro de la lista “Números” elimine el valor con
                                           índice “3”, cuyo efecto es que el numero 2 de dicha lista quede borrado.
print Números                 #Imprimimos en pantalla la lista Números, 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.

4 comentarios:
Write comentarios
  1. 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.

    ResponderEliminar
    Respuestas
    1. 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.

      Eliminar
  2. 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()

    ResponderEliminar
    Respuestas
    1. 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

      Eliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Entradas más recientes

© 2014 Mi diario Python. Designed by Bloggertheme9 | Distributed By Gooyaabi Templates
Powered by Blogger.