【发布时间】:2017-02-08 18:37:45
【问题描述】:
是否有语法可以获取不在给定切片内的列表元素? 给定切片 [1:4] 很容易得到这些元素:
>>> l = [1,2,3,4,5]
>>> l[1:4]
[2, 3, 4]
如果我想要列表的其余部分,我可以这样做:
>>> l[:1] + l[4:]
[1, 5]
有没有更简洁的方法来做到这一点?我意识到我可能太需要了,因为这已经很简洁了。
编辑:我不认为这是 Invert slice in python 的副本,因为我不想修改我的原始列表。
【问题讨论】:
-
这可能不是你想要的,所以我把它放在评论而不是答案中,但是如果你想修改原始列表,你可以分配到切片中。例如
l[1:4] = [] -
你也可以使用numpy数组。
-
如果您不介意操作列表,您可以
del l[1:4],但它不会返回。