如何从python中的列表末尾删除固定数量的项目

时间:2014-04-22 01:41:24

标签: python list

如果你有一个清单

myList = [1,2,3,4,5,6,7,8,9,0]

是否有一种pythonic方法可以从列表末尾删除已定义数量的项目。

EG(伪代码):

removeFromend(myList, 3)
print myList

>>>[1,2,3,4,5,6,7]

3 个答案:

答案 0 :(得分:2)

您可以使用列表切片,我认为这是最诡计多端的方式:

end_trimm = 3
myList = myList[:-end_trimm]

答案 1 :(得分:1)

如果要改变列表,将切片设置为空列表相当于删除这些索引。

myList = [1,2,3,4,5,6,7,8,9,0]

myList[-3:] = []

myList
Out[16]: [1, 2, 3, 4, 5, 6, 7]

这适用于您无法简单地将myList重新绑定到新列表的情况,例如将列表传递给函数并希望该函数改变列表。

答案 2 :(得分:1)

del切片是直接的方法

>>> myList = [1,2,3,4,5,6,7,8,9,0]
>>> del myList[-3:]
>>> myList
[1, 2, 3, 4, 5, 6, 7]
>>> 

-3表示切片从结尾开始3,因此一般形式为del myList[-n:]