It's a little bit confusing. Is it actually comes from stack pop/push terminology?
L.pop([index]) -> item -- remove and return item at index (default last). Raises IndexError if list is empty or index is out of range.
>>> [1,2].pop()
2
Remove and return an arbitrary set element. Raises KeyError if the set is empty.
>>> {1,2}.pop()
1