如何从Python列表中删除第一个项目?

我有[0, 1, 2, 3, 4]的列表[0, 1, 2, 3, 4]我想把它列入[1, 2, 3, 4] 。 我如何去做这件事?

Python列表

list.pop(指数)

 >>> l = ['a', 'b', 'c', 'd'] >>> l.pop(0) 'a' >>> l ['b', 'c', 'd'] >>> 

del list [index]

 >>> l = ['a', 'b', 'c', 'd'] >>> del l[0] >>> l ['b', 'c', 'd'] >>> 

这些都修改你的原始列表。

其他人则build议使用切片:

  • 复制列表
  • 可以返回一个子集

另外,如果你正在执行许多pop(0),你应该看看collections.deque

 from collections import deque >>> l = deque(['a', 'b', 'c', 'd']) >>> l.popleft() 'a' >>> l deque(['b', 'c', 'd']) 
  • 提供从列表左端popup的更高性能

切片:

 x = [0,1,2,3,4] x = x[1:] 

这实际上会返回原始的一个子集,但不能修改它。

 >>> x = [0, 1, 2, 3, 4] >>> x.pop(0) 0 

更多关于这里 。

你会这样做

 l = [0, 1, 2, 3, 4] l.pop(0) 

l = l[1:]

优点和缺点

使用pop可以检索值

x = l.pop(0) x将是0

有了列表切片,请参阅有关列表的Python教程以获取更多详细信息:

 >>> l = [0, 1, 2, 3, 4] >>> l[1:] [1, 2, 3, 4] 

然后删除它:

 x = [0, 1, 2, 3, 4] del x[0] print x # [1, 2, 3, 4] 

您也可以使用list.remove(a[0]) pop列表中的第一个元素。

 >>>> a=[1,2,3,4,5] >>>> a.remove(a[0]) >>>> print a >>>> [2,3,4,5] 

你可以使用list.reverse()来反转列表,然后使用list.pop()去除最后一个元素,例如:

 l = [0, 1, 2, 3, 4] l.reverse() print l [4, 3, 2, 1, 0] l.pop() 0 l.pop() 1 l.pop() 2 l.pop() 3 l.pop() 4