Search code examples
pythonlistslicesubscript

Python slice first and last element in list


Is there a way to slice only the first and last item in a list?

For example; If this is my list:

>>> some_list
['1', 'B', '3', 'D', '5', 'F']

I want to do this (obviously [0,-1] is not valid syntax):

>>> first_item, last_item = some_list[0,-1]
>>> print first_item
'1'
>>> print last_item
'F'

Some things I have tried:

In [3]: some_list[::-1]
Out[3]: ['F', '5', 'D', '3', 'B', '1']

In [4]: some_list[-1:1:-1]
Out[4]: ['F', '5', 'D', '3']

In [5]: some_list[0:-1:-1]
Out[5]: []
...

Solution

  • One way:

    some_list[::len(some_list)-1]
    

    A better way (Doesn't use slicing, but is easier to read):

    [some_list[0], some_list[-1]]