Skip to main content
 首页 » 编程设计

Python:将列表分配给多维数组元素

2025年05月04日10www_RR

我想对一个多维数组进行赋值,其中数组的每个元素都是 3 个短整数:

a = ndarray([3,3,3], dtype='u2,u2,u2') 
a[2,2,2] = [1,2,3] 

Traceback (most recent call last): File "", line 1, in a[2,2,2] = [1,2,3] TypeError: expected a readable buffer object

我将使用一个大数组,并希望直接索引到数组中以提高性能。在 python 中执行此操作的好方法是什么?

感谢您对如何执行此操作有任何见解?

请您参考如下方法:

dtype='u2,u2,u2' 数组的元素是三个短裤的元组,而不是列表三条短裤。所以:

a[2,2,2] = (1,2,3) 

(括号当然不是必需的,但我用它们来表明这是一个元组。)

如果你愿意,你也可以传递一个数组:

a[2,2,2] = np.array([1,2,3]) 

当然这里的错误信息肯定可以更好……它实际上提示的是比你预期的更深层次的东西,它不能帮助你调试问题。