如何从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