Python 如何从x-n元素开始切片numpy数组?

Python 如何从x-n元素开始切片numpy数组?,python,numpy,slice,Python,Numpy,Slice,如果我有一个numpy数组: arr = np.array([1,2,3,4,5,6,7,8,9,10]) x = 3 # index n = 5 m = 2 有没有办法得到这样的输出 output: np.array([1,2,3,4,5,6]) 我们从4开始,即索引x=3。输出由所述索引之前的n=5元素组成,但不环绕(在本例中不超过1)。并且还包括所述索引后的m=2元素 谢谢。您可以使用: import numpy as np arr = np.array([1,2,3,4,5,6,7,

如果我有一个numpy数组:

arr = np.array([1,2,3,4,5,6,7,8,9,10])
x = 3 # index
n = 5
m = 2
有没有办法得到这样的输出

output: np.array([1,2,3,4,5,6])
我们从4开始,即索引
x=3
。输出由所述索引之前的
n=5
元素组成,但不环绕(在本例中不超过1)。并且还包括所述索引后的
m=2
元素

谢谢。

您可以使用:

import numpy as np
arr = np.array([1,2,3,4,5,6,7,8,9,10])
x = 3
n = 5
m = 2
arr[max(0, x-n):x+m+1]
# array([1, 2, 3, 4, 5, 6])