Python 我可以使用列表来寻址numpy数组吗?
我想给列表寻址的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
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确实如此。。。味道的问题我认为这不是味道的问题,这是一个不同的操作,会产生不同的结果。只是说你可以使用列表。