如何左右切片列表,中间部分除外



列表:

x = [1, 6, 2, 7, 1, 6, 1]
len(x)
> 7

我该如何分割前3个和后3个的列表,从而使用列表切片方法保留值7?

输出

x[0:2,4:6] #<-- This doesn't work
> [1, 6, 2, 1, 6, 1] #<-- Expected output

满足OP要求:"有没有办法让它保持相同的括号?x[…,…]类似于这个?"(不仅仅使用x[:3]+x[-3:](:

numpy.deletenumpy.r_一起使用。指定要以这种方式保留的元素n1的第一个数量和元素n2的最后一个数量

import numpy as np
x = [1, 6, 2, 7, 1, 6, 1]
n1 = 3 # Keep first n1 elements
n2 = 3 # Keep last n2 elements
print(list(np.delete(x,(np.r_[n1:len(x)-n2])))) # [1 6 2 1 6 1]

您可以执行:x[0:3]+x[4:7]或x[:3]+x[-3:]。第二个元素从最后一个元素中获得前3个元素,从右边获得前三个元素。

最新更新