为numpy数组切片的奇偶元素指定不同的值

2024-10-01 02:34:45 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以为numpy数组切片的奇偶元素指定不同的值?你知道吗

代码示例将起作用:

a=np.zeros(100)
b=np.arange(10,50,10)

print(a)
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0. 0.]

a[b]=10

print(a)

[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0. 10.  0.  0.  0.  0.  0.  0.  0.
  0.  0. 10.  0.  0.  0.  0.  0.  0.  0.  0.  0. 10.  0.  0.  0.  0.  0.
  0.  0.  0.  0. 10.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]

现在,我试图给片a[b]的奇偶元素分配不同的数字

a[b][::2] = 10

a[b][1::2] = -10

但这不起作用,一个初始的零数组不会修改。你知道吗

短期通知-实际上,b和a是动态生成的,因此我通常不知道它们的形状(a和b)以及哪些索引将在(b)之内


Tags: 代码numpy元素示例npzeros动态切片