Il semble que certaines personnes répondent à la mauvaise question. Tu as dit que tu voulais le faire :
>>> first_item, last_item = some_list[0,-1]
>>> print first_item
'1'
>>> print last_item
'F'
Par exemple, vous voulez extraire le premier et le dernier élément dans des variables séparées.
Dans ce cas, les réponses de Matthew Adams, pemistahl, et katrielalex sont valables. Il s'agit simplement d'un devoir composé :
first_item, last_item = some_list[0], some_list[-1]
Mais plus tard vous déclarez une complication : "Je le divise dans la même ligne, et il faudrait passer du temps à le diviser deux fois :"
x, y = a.split("-")[0], a.split("-")[-1]
Ainsi, afin d'éviter deux appels split(), vous ne devez opérer qu'une seule fois sur la liste qui résulte du fractionnement.
Dans ce cas, tenter d'en faire trop en une seule ligne nuit à la clarté et à la simplicité. Utilisez une variable pour contenir le résultat de la division :
lst = a.split("-")
first_item, last_item = lst[0], lst[-1]
D'autres réponses ont répondu à la question "comment obtenir une nouvelle liste, constituée des premiers et derniers éléments d'une liste ?". Elles ont probablement été inspirées par votre titre, qui mentionne le slicing, ce que vous ne voulez en fait pas, selon une lecture attentive de votre question.
Il y a trois façons d'obtenir une nouvelle liste avec les 0ème et dernier éléments d'une liste :
>>> s = 'Python ver. 3.4'
>>> a = s.split()
>>> a
['Python', 'ver.', '3.4']
>>> [ a[0], a[-1] ] # mentioned above
['Python', '3.4']
>>> a[::len(a)-1] # also mentioned above
['Python', '3.4']
>>> [ a[e] for e in (0,-1) ] # list comprehension, nobody mentioned?
['Python', '3.4']
# Or, if you insist on doing it in one line:
>>> [ s.split()[e] for e in (0,-1) ]
['Python', '3.4']
L'avantage de l'approche de la compréhension de liste est que l'ensemble des indices dans le tuple peut être arbitraire et généré de manière programmatique.