Python 我可以使用列表来寻址numpy数组吗?

Python 我可以使用列表来寻址numpy数组吗?,python,arrays,numpy,Python,Arrays,Numpy,我想给列表寻址的numpy数组的元素赋值。这可能吗?这似乎是你应该能做的事情 我试过: q = np.zeros((2,2,2)) index = [0,0,0] print(index) q[index]=4.3 print(q) 这没有给出一个错误,这是有希望的,但q现在是: [[[ 4.3 4.3] [ 4.3 4.3]] [[ 0. 0. ] [ 0. 0. ]]] 与之相反: [[[ 4.3 0. ] [ 0. 0.]] [[ 0. 0

我想给列表寻址的numpy数组的元素赋值。这可能吗?这似乎是你应该能做的事情

我试过:

q = np.zeros((2,2,2))
index = [0,0,0]
print(index)


q[index]=4.3
print(q)
这没有给出一个错误,这是有希望的,但q现在是:

[[[ 4.3  4.3]
  [ 4.3  4.3]]

 [[ 0.   0. ]
  [ 0.   0. ]]]
与之相反:

[[[ 4.3  0. ]
  [ 0.   0.]]

 [[ 0.   0. ]
  [ 0.   0. ]]]
正如我所希望的那样


提前感谢您的帮助。

您不能使用
列表
索引单个元素-它必须是
元组

import numpy as np

q = np.zeros((2,2,2))
index = [0,0,0]
print(index)


q[tuple(index)]=4.3
print(q)
[0, 0, 0]
[[[ 4.3  0. ]
  [ 0.   0. ]]

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

从技术上讲,您可以使用列表
q[[0,0]]=4.3
相当于
q[0]=4.3;q[0]=4.3;q[0]=4.3
@fjarri确实如此。。。味道的问题我认为这不是味道的问题,这是一个不同的操作,会产生不同的结果。只是说你可以使用列表。