2011-12-02 43 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] 
相关问题