2011-12-02 33 views
27

Tengo un problema con la eliminación list s. En el programa actual, tengo un método que borra cierta cantidad de list s. Esto es bastante inconveniente ya que durante una parte del programa donde se usa este método, sería mucho más útil si solo eliminara el último elemento de las listas. ¿Hay alguna forma en que pueda establecer números de índice como parámetros de mi método para resolver este problema?Método de lista para eliminar el último elemento de la lista, así como todos los elementos

El código para el método

def clearLists(self): 
    del self.Ans[:] 
    del self.masses[:] 

Siempre que quiero utilizar este método, yo simplemente escribo self.ClearLists() y elimina todos los elementos de una lista.

+2

No veo la relación entre el título de la pregunta y el cuerpo. – fortran

+0

Perdón por eso, eso fue un remanente de una vieja pregunta no publicada, ahora fixxxed. – user1036197

+3

Si no desea borrar sus listas, ¿por qué debería llamar a un método llamado 'clearLists'? – geoffspear

Respuesta

9

Para eliminar el último elemento de la lista, se puede utilizar:

def deleteLast(self): 
    if len(self.Ans) > 0: 
     del self.Ans[-1] 
    if len(self.masses) > 0: 
     del self.masses[-1] 
81

puede utilizar lst.pop() o del lst[-1]

+1

que el método pop() oscila, gracias – armani

+9

'pop()' quita y devuelve el artículo, en caso de que no desee tener un uso de devolución 'del';) –

0

Para eliminar el último elemento de la lista acaba de hacer esto.

a = [1,2,3,4,5] 
a = a[:-1] 
#Output [1,2,3,4] 
Cuestiones relacionadas