2011-12-02 557 views
27

我在清除list s時遇到問題。在當前的程序中,我有一個方法可以清除一定數量的list。這是相當不方便的,因爲在使用這種方法的程序的一部分中,如果它只從列表中刪除最後一個元素,它會更有幫助。有什麼方法可以將索引編號設置爲我的方法的參數來解決此問題?列表方法刪除列表中的最後一個元素以及所有元素

的方法

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

每當我想用這個方法,我只是寫self.ClearLists()並刪除每一個元素列表中的代碼。

+2

我沒有看到問題標題和正文之間的關係。 – fortran

+0

對不起,這是一箇舊的,未發佈的問題,現在fixxxed剩下的。 – user1036197

+3

如果你不想清除你的列表,你爲什麼要調用一個名爲'clearLists'的方法? – geoffspear

回答

9

要刪除列表中的最後一個元素,你可以使用:

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

可以使用lst.pop()del lst[-1]

+1

pop()方法岩石,謝謝 – armani

+9

'pop()'刪除並返回該項目,以防你不想返回使用'del';) –

0

若要從列表中刪除最後一個元素只是這樣做。

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