2011-12-02 11 views
27

Mam problem z czyszczeniem list s. W bieżącym programie, mam metodę, która czyści pewną liczbę list s. Jest to dość niewygodne, ponieważ podczas jednej części programu, w której stosowana jest ta metoda, byłoby o wiele bardziej pomocne, gdyby usunął tylko ostatni element z list. Czy istnieje sposób, w jaki można ustawić numery indeksu jako parametry mojej metody, aby rozwiązać ten problem?Metoda listy, aby usunąć ostatni element na liście, a także wszystkie elementy

Kod dla metody

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

Ilekroć chcesz użyć tej metody, ja po prostu napisać self.ClearLists() i usuwa każdy element na liście.

+2

Nie widzę związku między tytułem pytania a treścią. – fortran

+0

Przepraszam, że to było resztki ze starego, nieopublikowanego pytania, teraz naprawione. – user1036197

+3

Jeśli nie chcesz wyczyścić list, dlaczego chcesz wywołać metodę o nazwie 'clearLists'? – geoffspear

Odpowiedz

9

Aby usunąć ostatni element listy, można użyć:

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

można użyć lst.pop() lub del lst[-1]

+1

, że metoda pop() kołysze, dzięki – armani

+9

'pop()' usuwa i zwraca element, na wypadek gdybyś nie chciał mieć zwrotu użyj 'del';) –

0

Aby usunąć ostatni element z listy po prostu to zrobić.

a = [1,2,3,4,5] 
a = a[:-1] 
#Output [1,2,3,4] 
Powiązane problemy