看来有人在回答错误的问题。您说您想做:
>>> first_item, last_item = some_list[0,-1]
>>> print first_item
'1'
>>> print last_item
'F'
即,您要提取第一个和最后一个元素到单独的变量中。
在这种情况下,Matthew Adams,pemistahl和katrielalex的答案是有效的。这只是一个复合任务:
first_item, last_item = some_list[0], some_list[-1]
但是稍后您会感到复杂:“我将它分割在同一行中,这将需要花费时间将其分割两次:”
x, y = a.split("-")[0], a.split("-")[-1]
因此,为了避免两次split()调用,您必须仅对列表进行操作,该列表是由一次拆分产生的。
在这种情况下,尝试在一行中执行太多操作会损害清晰度和简洁性。使用变量保存拆分结果:
lst = a.split("-")
first_item, last_item = lst[0], lst[-1]
其他答复回答了“如何获取一个由列表的第一和最后一个元素组成的新列表”的问题。根据您对问题的仔细阅读,它们可能是受您的标题启发的,其中提到切片实际上是您所不希望的。
AFAIK是通过列表的第0个元素和最后一个元素获取新列表的3种方法:
>>> s = 'Python ver. 3.4'
>>> a = s.split()
>>> a
['Python', 'ver.', '3.4']
>>> [ a[0], a[-1] ]
['Python', '3.4']
>>> a[::len(a)-1]
['Python', '3.4']
>>> [ a[e] for e in (0,-1) ]
['Python', '3.4']
>>> [ s.split()[e] for e in (0,-1) ]
['Python', '3.4']
列表理解方法的优点在于,元组中的索引集可以是任意的,并且可以通过编程方式生成。