Рекурсивно вы можете сделать это так:
import numpy as np
def recursive_array_print(arr):
if isinstance(arr, (list, tuple, np.ndarray)):
print("[", end =" ")
for element in arr:
if isinstance(element, (list, tuple, np.ndarray)):
recursive_array_print(element)
else:
print(str(element), end =" ")
print("]", end =" ")
Функции тестирования:
def separator():
print()
print("_______________")
def compare_print_and_recursive(arr):
separator()
recursive_array_print(arr)
separator()
print(arr)
separator()
#test data
testarr1=np.array([[[1,2,3], [3,4,5]],[[10,[2,3,4],12], [13,6,14]]])
testarr2=[[[1,2,3], [3,4,5]],[[10,[2,3,4],12], [13,6,14]]]
testarr3=(((1,2,3), (3,4,5)),((10,(2,3,4),12), (13,6,14)))
#printing the test data
print("np.array")
compare_print_and_recursive(testarr1)
print("list")
compare_print_and_recursive(testarr2)
print("tuple")
compare_print_and_recursive(testarr3)