Когда я пытаюсь напечатать каждую запись в 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([[(1,2,3)],
[1,2,3],
[1,2,3]])
Это означает, что первый подсписчик содержит один элемент: 3-кортеж. Поскольку в этих списках не содержится иного количества элементов, numpy будет конструировать 1D массив объектов:
>>> A
array([list([(1, 2, 3)]), list([1, 2, 3]), list([1, 2, 3])], dtype=object)
поэтому массив - это просто 1D массив ссылок на object
s, эти объекты могут быть списками, но это может быть что угодно. Таким образом, есть только одно измерение, которое может быть проиндексировано.
Если мы опустим круглые скобки, у нас есть список из трех элементов, например:
>>> A = np.array([[1,2,3],
... [1,2,3],
... [1,2,3]])
>>> A
array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
а затем запрос с двумя индексами не является проблемой вообще.
object
s.