假设:
a = [1, 2, 3]
b = [4,5]
如何获得:
[1, 2]
[4]
在上面的例子中,我知道这有效:
a[:-1]
b[:-1]
然而,当:
c = [1]
c[:-1]
结果是一个空列表。
答案 0 :(得分:5)
您需要以下代码片段:
c[:1] + c[1:-1]
例如:
>>> c = [1]
>>> c[:1] + c[1:-1]
[1]
使用c[:1]
,您将获得一个由第一个元素组成的列表(如果它存在,否则为空列表),以及c[1:-1]
从第二个元素到最后一个元素的结尾。如果没有第二个元素c[1:-1]
将只返回空列表。
答案 1 :(得分:3)
按照JuniorCompressor的回答,如果要点就是删除最后一个元素(保留第一个,如果存在,其他人也保留它们,但删除last == remove last,如果第一个元素也不是最后一个元素)。是吗?
>>> def removelast(l):
... if len(l)>1: del l[len(l)-1]
... return l
>>> a = range(5)
>>> removelast(a)
[0, 1, 2, 3]
>>> b = [1]
>>> removelast(b)
[1]