## How to remove the first Item from a list?

### Question

I have the list `[0, 1, 2, 3, 4]` I'd like to make it into `[1, 2, 3, 4]`. How do I go about this?

2018/05/15
1
805
5/15/2018 6:43:10 PM

Python List

list.pop(index)

``````>>> 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']
>>>
``````

These both modify your original list.

Others have suggested using slicing:

• Copies the list
• Can return a subset

Also, if you are performing many pop(0), you should look at collections.deque

``````from collections import deque
>>> l = deque(['a', 'b', 'c', 'd'])
>>> l.popleft()
'a'
>>> l
deque(['b', 'c', 'd'])
``````
• Provides higher performance popping from left end of the list
2017/03/01
1306
3/1/2017 5:47:23 PM

Slicing:

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

Which would actually return a subset of the original but not modify it.

2010/12/13

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

More on this here.

2010/12/13

you would just do this

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

or `l = l[1:]`

Pros and Cons

Using pop you can retrieve the value

say `x = l.pop(0)` `x` would be `0`

2010/12/13

With list slicing, see the Python tutorial about lists for more details:

``````>>> l = [0, 1, 2, 3, 4]
>>> l[1:]
[1, 2, 3, 4]
``````
2010/12/13

Then just delete it:

``````x = [0, 1, 2, 3, 4]
del x[0]
print x
# [1, 2, 3, 4]
``````
2010/12/13