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

标签 python arrays numpy

我想为列表寻址的 numpy 数组的元素分配一个值。这可能吗?这似乎是你应该能够做的事情。

我尝试过:

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


q[index]=4.3
print(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. ]]]

关于python - 我可以使用列表来寻址 numpy 数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026014/

相关文章:

python - 使用管道直接从 np.array 高效地编写电影

python - 当 python 进程被杀死时运行 atexit()

MySQL - 在存在 GROUP BY 的情况下删除 JSON_ARRAYAGG 中的重复结果

javascript - 如何将可变数据放入数组,javascript

python - 在numpy中生成一个n维坐标数组

python - 如何使用 NumPy 将 sRGB 格式转换为 NV12 格式?

python - Django password_reset 是否支持 html 电子邮件模板?

python:在顶部绘制带有函数线的直方图

python: sys 未定义

c - 读取.txt文件并打印结果