如何在两个位置之间更改numpy数组的值

NJD*_*NJD 0 python arrays numpy list

我有一个充满0的numpy数组,比如这个

   [0,0,0,0,0,0,0,0,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)

以及这样的职位列表

   [2-4,6-10] 
Run Code Online (Sandbox Code Playgroud)

所以我想要做的是遍历位置列表,然后将numpy数组中的0更改为相应位置内的1,以便我应该有一个numpy数组,如.

  [0,1,1,1,0,1,1,1,1,1,0,0,0]
Run Code Online (Sandbox Code Playgroud)

希望这很清楚,如果不是让我知道.

谢谢.

Div*_*kar 5

这是一种方法,通过生成这些索引作为连接数组,np.r_然后索引和分配1s-

In [64]: a = np.array([0,0,0,0,0,0,0,0,0,0,0,0])

In [65]: pos = np.r_[1:4,5:10]

In [66]: a[pos] = 1

In [67]: a
Out[67]: array([0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0])
Run Code Online (Sandbox Code Playgroud)