索引一个列表中的前n个和后n个元素

8

Python列表的前n个和后n个元素

l=[1,2,3,4,5,6,7,8,9,10]

可以用表达式进行索引
print l[:3]
[1, 2, 3]

并且

print l[-3:]
[8, 9, 10]

有没有一种方法可以通过单个索引表达式来组合前n个和后n个元素,即对前n个和后n个元素进行索引?
4个回答

8

只需连接结果:

l[:3] + l[-3:]

没有专门的语法来组合不连续的切片。


谢谢你的回答,这正是我在寻找的解决方案。我将其标记为答案,因为它是几个类似解决方案中的第一个。 - Oblomov

3
不可以,但是你可以使用以下方式:
l[:3] + l [-3:]

感谢您的回答,这正是我一直在寻找的简单解决方案。 - Oblomov

3
你是指像这样吗:
l[:3]+l[-3:]

然后使用变量:

l[:x]+l[-y:]

感谢您的回答,这正是我一直在寻找的简单解决方案。 - Oblomov

2

如果允许更改列表,您可以使用以下方法:

del(a[n:-n])

如果没有,创建新的列表并执行以下操作。
b = [x for x in a]
del(b[n:-n])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接