我可以使用列表来寻址 numpy 数组吗?
Can I use a list to address a numpy array?
我想为列表寻址的 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. ]]]
正如我所希望的那样。
在此先感谢您的帮助。
您不能使用 list
来索引单个元素 - 它必须是 tuple
:
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. ]]]
我想为列表寻址的 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. ]]]
正如我所希望的那样。
在此先感谢您的帮助。
您不能使用 list
来索引单个元素 - 它必须是 tuple
:
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. ]]]