2011-12-02 7 views
27

Ho un problema con la cancellazione di list s. Nel programma corrente, ho un metodo che cancella un certo numero di list s. Questo è piuttosto scomodo poiché durante una parte del programma in cui viene utilizzato questo metodo, sarebbe molto più utile se eliminasse solo l'ultimo elemento dagli elenchi. C'è un modo in cui posso impostare i numeri indice come parametri per il mio metodo per risolvere questo problema?Metodo elenco per eliminare l'ultimo elemento nell'elenco nonché tutti gli elementi

Il codice per il metodo

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

Ogni volta che voglio utilizzare questo metodo, mi limito a scrivere self.ClearLists() ed elimina ogni elemento in un elenco.

+2

Non vedo la relazione tra il titolo della domanda e il corpo. – fortran

+0

Mi dispiace, era un residuo di una vecchia domanda non pubblicata, ora fixxxed. – user1036197

+3

Se non vuoi cancellare i tuoi elenchi, perché chiameresti un metodo chiamato 'clearLists'? – geoffspear

risposta

9

Per eliminare l'ultimo elemento delle liste, è possibile utilizzare:

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

è possibile utilizzare lst.pop() o del lst[-1]

+1

che il metodo pop() sbozza, grazie – armani

+9

'pop()' rimuove e restituisce l'elemento, nel caso in cui non si desideri utilizzare il ritorno 'del';) –

0

Per eliminare l'ultimo elemento dalla lista solo fare questo.

a = [1,2,3,4,5] 
a = a[:-1] 
#Output [1,2,3,4] 
Problemi correlati