gpt4 book ai didi

python - numpy 矩阵的数组索引太多

转载 作者:行者123 更新时间:2023-12-01 08:54:55 25 4
gpt4 key购买 nike

当我尝试打印 ndarray 中的每个条目时,我使用这个:

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

dim = len(A)
for i in range(dim):
for j in range(dim):
print(A[i,j])

但是它表明:数组索引太多我哪里错了?

最佳答案

问题出在 numpy 数组中的元组:

A = np.array([[<b>(1,2,3)</b>],
[1,2,3],
[1,2,3]])

这意味着第一个子列表包含一个元素:一个三元组。由于这些列表不包含不同数量的元素,numpy 将构造一个一维对象数组:

>>> A
array([list([(1, 2, 3)]), list([1, 2, 3]), list([1, 2, 3])], dtype=<b>object</b>)

所以数组只是一个对对象引用的一维数组,这些对象可以是列表,但它们可以是任何东西。因此,只有一个维度可以被索引。

如果我们省略圆括号,我们就会得到一个包含三个元素的列表,例如:

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

然后使用两个索引进行查询完全没有问题。

关于python - numpy 矩阵的数组索引太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52842489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com