Вот часть кода, которая дает мне другой ответ на то, что я ожидал. Строка: print list(x)
делает то, что я ожидаю. Я ожидаю, что строка: print random_array[list(x)]
будет возвращать значение этого элемента в массиве, но она возвращает три массива. Например, если list(x)
вернет [9, 8, 7]
, будет напечатано random_array[9, :, :], random_array[8, :, :], random_array[7, :, :]
. Может кто-нибудь, пожалуйста, объясните мне, почему это? И как я могу получить ожидаемый ответ?
import numpy as np
import itertools
random_array = np.random.randint(0, 9, (10, 10, 10))
my_iterator = itertools.product(range(10),range(10),range(10))
for x in my_iterator:
print list(x)
print random_array[list(x)]